> On Feb. 2, 2013, 9:44 p.m., Boudewijn Rempt wrote:
> > Yeah... If msvc warns about it, but I do think it's silly :-). Anyway, I 
> > still need to test, but I'm sure it's fine, it doesn't alter what we meant 
> > with the code.

I was surprised as well, but really operator-() on an unsigned int only result 
in the 2-complement.
--- 8< ---
#include <iostream>

int main()
{
    int a = 5;
    unsigned int b = 5;

    std::cout <<"int: "<< (-a)<<" uint: "<< (-b) << std::endl;
}
--- 8< ---
$ g++ test.cpp -o test
$ ./test 
int: -5 uint: 4294967291


- Friedrich W. H.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108708/#review26549
-----------------------------------------------------------


On Feb. 2, 2013, 12:49 a.m., Friedrich W. H. Kossebau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/108708/
> -----------------------------------------------------------
> 
> (Updated Feb. 2, 2013, 12:49 a.m.)
> 
> 
> Review request for Calligra and Boudewijn Rempt.
> 
> 
> Description
> -------
> 
> MSVC hints in its warnings that using operator-() on an unsigned int will 
> still result in an unsigned int.
> Reading up the intertubes on that it seems to be usually the 2's complement 
> of the value.
> So all the rect calculations in these blur filter must have been giving 
> strange results for quite some time.
> 
> Is that true? Nobody saw that?
> 
> Attached patch fixes that by always turning the values used for calculations 
> into signed integer, by the implicit conversion coming with the assignment.
> 
> Other possible fixes would be to simply switch the operator-() usage into a 
> -1* operation. Not sure what I prefer, your choice :)
> 
> 
> Diffs
> -----
> 
>   krita/plugins/filters/blur/kis_blur_filter.cpp b81f0bd 
>   krita/plugins/filters/blur/kis_gaussian_blur_filter.cpp 0c68562 
>   krita/plugins/filters/blur/kis_motion_blur_filter.cpp 6a13ca3 
> 
> Diff: http://git.reviewboard.kde.org/r/108708/diff/
> 
> 
> Testing
> -------
> 
> None, as I have no clue of the blur filters and how to see the effect of the 
> patch. Left for Krita insiders.
> 
> 
> Thanks,
> 
> Friedrich W. H. Kossebau
> 
>

_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel

Reply via email to