http://bugs.winehq.org/show_bug.cgi?id=16318
Summary: ‘GdipMultiplyMatrix’ discards qualifiers from pointer target type Product: Wine Version: 1.1.9 Platform: Other OS/Version: other Status: NEW Keywords: download, regression, source Severity: enhancement Priority: P2 Component: gdiplus AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com CC: bunglehead@gmail.com
make[2]: Entering directory `/home/austin/wine-git/dlls/gdiplus' gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strength-reduce -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -Werror -o brush.o brush.c cc1: warnings being treated as errors brush.c: In function ‘GdipMultiplyTextureTransform’: brush.c:942: warning: passing argument 2 of ‘GdipMultiplyMatrix’ discards qualifiers from pointer target type make[2]: *** [brush.o] Error 1 make[2]: Leaving directory `/home/austin/wine-git/dlls/gdiplus' make[1]: *** [gdiplus] Error 2 make[1]: Leaving directory `/home/austin/wine-git/dlls' make: *** [dlls] Error 2
gcc 4.1.2
http://source.winehq.org/git/wine.git/?a=commit;h=a886b4743f7efbabe481540be9...
http://bugs.winehq.org/show_bug.cgi?id=16318
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com 2008-12-03 15:28:30 --- There's a mismatch in PSDK here:
class method declared as
Status Matrix::Multiply(IN const Matrix *,IN MatrixOrder)
but flat API is
GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder)
See that
http://www.winehq.org/pipermail/wine-devel/2008-December/070896.html
Henri suggested to change our prototype to use const pointer and get rid of const to not-const cast.
http://bugs.winehq.org/show_bug.cgi?id=16318
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2008-12-03 21:47:35 --- Created an attachment (id=17629) --> (http://bugs.winehq.org/attachment.cgi?id=17629) Make an intermediate copy of the matrix
Does the attached patch help?
http://bugs.winehq.org/show_bug.cgi?id=16318
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #3 from Austin English austinenglish@gmail.com 2008-12-03 22:01:19 --- (In reply to comment #2)
Created an attachment (id=17629)
--> (http://bugs.winehq.org/attachment.cgi?id=17629) [details]
Make an intermediate copy of the matrix
Does the attached patch help?
Yes sir, works perfectly :-).
http://bugs.winehq.org/show_bug.cgi?id=16318
--- Comment #4 from Dmitry Timoshkov dmitry@codeweavers.com 2008-12-03 22:20:20 --- Sent it to wine-patches: http://www.winehq.org/pipermail/wine-patches/2008-December/065470.html
http://bugs.winehq.org/show_bug.cgi?id=16318
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com 2008-12-04 09:50:14 --- Should be closed. Current version has a patched gdiplusflat.h for that problem
http://bugs.winehq.org/show_bug.cgi?id=16318
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #6 from Dmitry Timoshkov dmitry@codeweavers.com 2008-12-04 09:50:29 --- Alexandre has fixed it by changing the GdipMultiplyMatrix prototype: http://source.winehq.org/git/wine.git/?a=commit;h=3c32c816215cbe05a254b7c281...
http://bugs.winehq.org/show_bug.cgi?id=16318
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2008-12-05 11:16:39 --- Closing bugs fixed in 1.1.10.