[WIN32K]
authorJérôme Gardou <jerome.gardou@reactos.org>
Sun, 18 Apr 2010 23:48:11 +0000 (23:48 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Sun, 18 Apr 2010 23:48:11 +0000 (23:48 +0000)
  - call DC_vPrepareDCsForBlit / DC_vFinishBlit in the right place

svn path=/branches/reactos-yarotows/; revision=46932

subsystems/win32/win32k/objects/line.c
subsystems/win32/win32k/objects/path.c

index 3ed9c1f..03069e3 100644 (file)
@@ -435,8 +435,6 @@ NtGdiPolyDraw(
     dc = DC_LockDc(hdc);
     if (!dc) return FALSE;
     pdcattr = dc->pdcattr;
     dc = DC_LockDc(hdc);
     if (!dc) return FALSE;
     pdcattr = dc->pdcattr;
-    DC_vPrepareDCsForBlit(dc, dc->rosdc.CombinedClip->rclBounds,
-                            NULL, dc->rosdc.CombinedClip->rclBounds);
 
     _SEH2_TRY
     {
 
     _SEH2_TRY
     {
@@ -503,7 +501,6 @@ NtGdiPolyDraw(
     }
     _SEH2_END;
 
     }
     _SEH2_END;
 
-    DC_vFinishBlit(dc, NULL);
     DC_UnlockDc(dc);
 
     return result;
     DC_UnlockDc(dc);
 
     return result;
index 1c51441..8d15f8f 100644 (file)
@@ -2622,7 +2622,12 @@ NtGdiStrokePath(HDC hDC)
   if (pdcattr->ulDirty_ & (DIRTY_LINE | DC_PEN_DIRTY))
      DC_vUpdateLineBrush(pDc);
 
   if (pdcattr->ulDirty_ & (DIRTY_LINE | DC_PEN_DIRTY))
      DC_vUpdateLineBrush(pDc);
 
+  DC_vPrepareDCsForBlit(pDc, pDc->rosdc.CombinedClip->rclBounds,
+                            NULL, pDc->rosdc.CombinedClip->rclBounds);
+
   bRet = PATH_StrokePath(pDc, pPath);
   bRet = PATH_StrokePath(pDc, pPath);
+
+  DC_vFinishBlit(pDc, NULL);
   PATH_EmptyPath(pPath);
 
   PATH_UnlockPath( pPath );
   PATH_EmptyPath(pPath);
 
   PATH_UnlockPath( pPath );