Maybe we should send those fixes to wine-staging instead of actual wine? On 31 March 2015 at 22:39, Timo Kreuzer <timo.kreu...@web.de> wrote: > Am 31.03.2015 um 21:11 schrieb Thomas Faber: >> >> Hey Timo, >> >> I was just about to sync enhmetafile.c with Wine and found that your >> original import had the following diff: >> --- win32ss/gdi/gdi32/wine/enhmetafile.c (revision 67001) >> +++ win32ss/gdi/gdi32/wine/enhmetafile.c (working copy) >> @@ -546,8 +546,6 @@ >> if (!SetWorldTransform(hdc, &final_trans)) >> { >> - __debugbreak(); >> - SetWorldTransform(hdc, &final_trans); > > This was testing code, it should go. > >> ERR("World transform failed!\n"); >> } >> } >> @@ -1232,12 +1230,10 @@ >> case EMR_EXTSELECTCLIPRGN: >> { >> const EMREXTSELECTCLIPRGN *lpRgn = (const EMREXTSELECTCLIPRGN >> *)mr; >> - const RGNDATA *pRgnData = (const RGNDATA *)lpRgn->RgnData; >> - DWORD dwSize = sizeof(RGNDATAHEADER) + pRgnData->rdh.nCount * >> sizeof(RECT); > > This fix is important. ExtCreateRegion with size == 0 fails, if it is > properly implemented. I (or rather Amine) already sent a patch to wine. But > they first wanted a test that proves that this is correct, so I wrote them a > test, then they asked for this and that and I stopped caring. See > https://www.winehq.org/pipermail/wine-cvs/2014-November/103770.html and > https://www.winehq.org/pipermail/wine-patches/2014-November/135315.html > Amine might know if the actual fixes to this file and ExtCreateRegion have > been sent to wine as well. > We should just pass them to wine-staging. > > > >> HRGN hRgn = 0; >> if (mr->nSize >= sizeof(*lpRgn) + sizeof(RGNDATAHEADER)) >> - hRgn = ExtCreateRegion( &info->init_transform, dwSize, >> pRgnData ); >> + hRgn = ExtCreateRegion( &info->init_transform, 0, (const >> RGNDATA *)lpRgn->RgnData ); >> ExtSelectClipRgn(hdc, hRgn, (INT)(lpRgn->iMode)); >> /* ExtSelectClipRgn created a copy of the region */ >> >> (this is the reverse diff, i.e. the one that would get it back in sync >> with Wine) >> >> My guess is I should just remove this difference and get it completely >> synced (i.e. apply the above patch)? What do you think? >> >> >> On 2014-12-29 15:25, tkreu...@svn.reactos.org wrote: >>> >>> Author: tkreuzer >>> Date: Mon Dec 29 14:25:30 2014 >>> New Revision: 65893 >>> >>> URL: http://svn.reactos.org/svn/reactos?rev=65893&view=rev >>> Log: >>> [GDI32] >>> Import metafile code from wine. The wine code is unmodified (please keep >>> it that way) and used through a wrapper function dispatcher and some >>> helpers. Fixes 1931 wine tests. >>> >>> Added: >>> trunk/reactos/win32ss/gdi/gdi32/include/wine/ (with props) >>> trunk/reactos/win32ss/gdi/gdi32/include/wine/gdi_driver.h (with >>> props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/ (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/CMakeLists.txt (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmetafile.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/ (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/bitblt.c (with >>> props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/dc.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/enhmetafiledrv.h >>> (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/graphics.c (with >>> props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/init.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/objects.c (with >>> props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/gdi_private.h (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/metafile.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/ (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/bitblt.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/dc.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/graphics.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/init.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/metafiledrv.h (with >>> props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/objects.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/text.c (with props) >>> trunk/reactos/win32ss/gdi/gdi32/wine/rosglue.c (with props) >>> Modified: >>> trunk/reactos/win32ss/gdi/gdi32/CMakeLists.txt >>> trunk/reactos/win32ss/gdi/gdi32/include/gdi32p.h >>> trunk/reactos/win32ss/gdi/gdi32/misc/misc.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/arc.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/bitmap.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/coord.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/dc.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/enhmfile.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/gdiobj.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/metafile.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/painting.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/palette.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/path.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/region.c >>> trunk/reactos/win32ss/gdi/gdi32/objects/text.c >>> trunk/reactos/win32ss/include/ntgdihdl.h >>> >>> [This mail would be too long, it was shortened to contain the URLs only.] >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/CMakeLists.txt >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/CMakeLists.txt?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/include/gdi32p.h >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/include/gdi32p.h?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/include/wine/gdi_driver.h >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/include/wine/gdi_driver.h?rev=65893 >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/misc/misc.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/misc/misc.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/arc.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/arc.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/bitmap.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/bitmap.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/coord.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/coord.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/dc.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/dc.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/enhmfile.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/enhmfile.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/gdiobj.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/gdiobj.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/metafile.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/metafile.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/painting.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/painting.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/palette.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/palette.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/path.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/path.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/region.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/region.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Modified: trunk/reactos/win32ss/gdi/gdi32/objects/text.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/text.c?rev=65893&r1=65892&r2=65893&view=diff >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/CMakeLists.txt >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/CMakeLists.txt?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmetafile.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmetafile.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/bitblt.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/bitblt.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/dc.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/dc.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/enhmetafiledrv.h >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/enhmetafiledrv.h?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/graphics.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/graphics.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/init.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/init.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/objects.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/enhmfdrv/objects.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/gdi_private.h >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/gdi_private.h?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/metafile.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/metafile.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/bitblt.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/bitblt.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/dc.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/dc.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/graphics.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/graphics.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/init.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/init.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/metafiledrv.h >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/metafiledrv.h?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/objects.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/objects.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/text.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/mfdrv/text.c?rev=65893 >>> >>> Added: trunk/reactos/win32ss/gdi/gdi32/wine/rosglue.c >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/wine/rosglue.c?rev=65893 >>> >>> Modified: trunk/reactos/win32ss/include/ntgdihdl.h >>> URL: >>> http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/include/ntgdihdl.h?rev=65893&r1=65892&r2=65893&view=diff >> >> >> _______________________________________________ >> Ros-dev mailing list >> Ros-dev@reactos.org >> http://www.reactos.org/mailman/listinfo/ros-dev >> > > > > _______________________________________________ > Ros-dev mailing list > Ros-dev@reactos.org > http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev