[WIN32K]
authorJérôme Gardou <jerome.gardou@reactos.org>
Tue, 20 Apr 2010 17:55:56 +0000 (17:55 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Tue, 20 Apr 2010 17:55:56 +0000 (17:55 +0000)
  - Reinitialize EBRUSHOBJs instead of marking them as dirty when switching modes

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

subsystems/win32/win32k/objects/dclife.c

index e8ab504..9440c7c 100644 (file)
@@ -478,7 +478,15 @@ DC_vUpdateDC(PDC pdc)
     pdc->flGraphicsCaps = ppdev->devinfo.flGraphicsCaps;
     pdc->flGraphicsCaps2 = ppdev->devinfo.flGraphicsCaps2;
 
-    pdc->pdcattr->ulDirty_ |= DIRTY_DEFAULT;
+    /* re-Initialize EBRUSHOBJs */
+    EBRUSHOBJ_vCleanup(&pdc->eboFill);
+    EBRUSHOBJ_vInit(&pdc->eboFill, pdc->dclevel.pbrFill, pdc);
+    EBRUSHOBJ_vCleanup(&pdc->eboLine);
+    EBRUSHOBJ_vInit(&pdc->eboLine, pdc->dclevel.pbrLine, pdc);
+    EBRUSHOBJ_vCleanup(&pdc->eboText);
+    EBRUSHOBJ_vInit(&pdc->eboText, pbrDefaultBrush, pdc);
+    EBRUSHOBJ_vCleanup(&pdc->eboBackground);
+    EBRUSHOBJ_vInit(&pdc->eboBackground, pbrDefaultBrush, pdc);
 }
 
 /* Prepare a blit for up to 2 DCs */