Author: tkreuzer
Date: Mon Dec 29 13:11:35 2014
New Revision: 65880
URL: 
http://svn.reactos.org/svn/reactos?rev=65880&view=rev
Log:
[GDI32]
- Do not call BitBlt from StretchBlt when extension matches, this is handled in win32k
- Use GdiGetDcAttr
Modified:
    trunk/reactos/win32ss/gdi/gdi32/objects/painting.c
Modified: trunk/reactos/win32ss/gdi/gdi32/objects/painting.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/objects/…
==============================================================================
--- trunk/reactos/win32ss/gdi/gdi32/objects/painting.c  [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/gdi32/objects/painting.c  [iso-8859-1] Mon Dec 29 13:11:35
2014
@@ -66,7 +66,13 @@
         }
     }
 #endif
-    if (!GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &pdcattr))
return FALSE;
+    /* Get the DC attribute */
+    pdcattr = GdiGetDcAttr(hdc);
+    if (pdcattr == NULL)
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return FALSE;
+    }
     if (ppt)
     {
@@ -852,33 +858,18 @@
     _In_ INT cySrc,
     _In_ DWORD dwRop)
 {
-    if ((cxDest != cxSrc) || (cyDest != cySrc))
-    {
-        return NtGdiStretchBlt(hdcDest,
-                               xDest,
-                               yDest,
-                               cxDest,
-                               cyDest,
-                               hdcSrc,
-                               xSrc,
-                               ySrc,
-                               cxSrc,
-                               cySrc,
-                               dwRop,
-                               0);
-    }
-
-    return NtGdiBitBlt(hdcDest,
-                       xDest,
-                       yDest,
-                       cxDest,
-                       cyDest,
-                       hdcSrc,
-                       xSrc,
-                       ySrc,
-                       dwRop,
-                       0,
-                       0);
+    return NtGdiStretchBlt(hdcDest,
+                           xDest,
+                           yDest,
+                           cxDest,
+                           cyDest,
+                           hdcSrc,
+                           xSrc,
+                           ySrc,
+                           cxSrc,
+                           cySrc,
+                           dwRop,
+                           0);
 }