[Bug 2086] Problem drawing pixmaps since vers. 20031118

Wine Bugs wine-bugs at winehq.org
Sun Apr 18 04:40:16 CDT 2004


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





------- Additional Comments From feulner.norbert at web.de  2004-18-04 04:40 -------
The Game is called 3D-Pinball for Windows - Space Cadet

I added the sugested Patch. I tried to send it
to wine-patches at winehq.com but I think it was rejected for I
am not a known user.



--- wine-20040309/objects/dib.c	2004-03-17 19:27:13.000000000 +0100
+++ wine-20040309/objects/dib.c.new	2004-03-17 15:31:20.000000000 +0100
@@ -177,9 +177,6 @@

         GDI_ReleaseObj( hdc );
 	hdcMem = CreateCompatibleDC( hdc );
-        hBitmap = CreateCompatibleBitmap(hdc, info->bmiHeader.biWidth,
-                                         info->bmiHeader.biHeight);
-        hOldBitmap = SelectObject( hdcMem, hBitmap );

 	if (info->bmiHeader.biCompression == BI_RLE4 ||
 	    info->bmiHeader.biCompression == BI_RLE8) {
@@ -199,14 +196,20 @@
 	    * ericP (2000/09/09)
 	    */

+            hBitmap = CreateCompatibleBitmap(hdc, info->bmiHeader.biWidth,
+                                         info->bmiHeader.biHeight);
             /* copy existing bitmap from destination dc */
             StretchBlt( hdcMem, xSrc, abs(info->bmiHeader.biHeight) - heightSrc 
- ySrc,
                         widthSrc, heightSrc, hdc, xDst, yDst, widthDst, 
heightDst,
                         dwRop );
+            SetDIBits(hdcMem, hBitmap, 0, info->bmiHeader.biHeight, bits,
+	             info, wUsage /*DIB_RGB_COLORS*/);
+        } else {
+	   hBitmap = CreateDIBitmap( hdc, &info->bmiHeader, CBM_INIT,
+				     bits, info, wUsage );
         }

-        SetDIBits(hdcMem, hBitmap, 0, info->bmiHeader.biHeight, bits,
-		     info, wUsage);
+        hOldBitmap = SelectObject( hdcMem, hBitmap );

         /* Origin for DIBitmap may be bottom left (positive biHeight) or top
            left (negative biHeight) */


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list