[Bug 36504] New: The XFORM matrix is calculated incorrectly in PlgBlt()

wine-bugs at winehq.org wine-bugs at winehq.org
Wed May 21 11:10:49 CDT 2014


http://bugs.winehq.org/show_bug.cgi?id=36504

            Bug ID: 36504
           Summary: The XFORM matrix is calculated incorrectly in PlgBlt()
           Product: Wine
           Version: 1.7.19
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: gdi32
          Assignee: wine-bugs at winehq.org
          Reporter: sashoalm at gmail.com

I initially posted this at the wine-devel mailing list -
http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html

For now, I'll copy/paste the relevant parts describing how to reproduce the
bug.

The test is a VC6 project, you can find it at
https://drive.google.com/file/d/0B9PGUhmmnsm1S2VvZzc3WmhBY3c/edit?usp=sharing.
The test is a demo of PlgBlt that I found on
CodeProject<http://www.codeproject.com/Articles/17712/The-GDI-magic-Rendering-reflections-and-smooth-sha>.
You can compare how it works on XP and on Wine. For testing, I directly
inserted the original Wine implementation of PlgBlt, as well as my patched
version, into the VC6 project, and tested on that. This is because there
seems to be an additional problem with MaskBlt, which I'll try tackling
next.

I have screenshots of what the demo looks using Windows's
PlgBlt<http://imgur.com/q8qKGd7>,
and Wine's PlgBlt <http://imgur.com/smYEV6z>.

To test it, simply look at this function in the VC6 project:

BOOL MyPlgBlt( HDC hdcDest, const POINT *lpPoint,
                        HDC hdcSrc, INT nXSrc, INT nYSrc, INT nWidth,
                        INT nHeight, HBITMAP hbmMask, INT xMask, INT yMask)
{
//      return MyPlgBltWinePatched(hdcDest, lpPoint, hdcSrc, nXSrc, nYSrc,
nWidth, nHeight, hbmMask, xMask, yMask);
        return MyPlgBltWineUnpatched(hdcDest, lpPoint, hdcSrc, nXSrc,
nYSrc, nWidth, nHeight, hbmMask, xMask, yMask);
//      return PlgBlt(hdcDest, lpPoint, hdcSrc, nXSrc, nYSrc, nWidth,
nHeight, hbmMask, xMask, yMask);
}

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list