[ros-diffs] [greatlrd] 33877: add a NULL check in IntGdiInitBrushInstance if XlateObj is NULL fall back to use white as default color when GDIBRUSH_IS_SOLID are set.

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sat Jun 7 03:14:12 CEST 2008


Author: greatlrd
Date: Fri Jun  6 20:14:12 2008
New Revision: 33877

URL: http://svn.reactos.org/svn/reactos?rev=33877&view=rev
Log:
add a NULL check in IntGdiInitBrushInstance if XlateObj is NULL fall back to use white as default color when GDIBRUSH_IS_SOLID are set.

Modified:
    trunk/reactos/subsystems/win32/win32k/objects/brush.c

Modified: trunk/reactos/subsystems/win32/win32k/objects/brush.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/brush.c?rev=33877&r1=33876&r2=33877&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/brush.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/brush.c [iso-8859-1] Fri Jun  6 20:14:12 2008
@@ -173,11 +173,25 @@
    ASSERT(BrushInst);
    ASSERT(BrushObj);
    if (BrushObj->flAttrs & GDIBRUSH_IS_NULL)
+   {
       BrushInst->BrushObject.iSolidColor = 0;
+   }
    else if (BrushObj->flAttrs & GDIBRUSH_IS_SOLID)
-      BrushInst->BrushObject.iSolidColor = XLATEOBJ_iXlate(XlateObj, BrushObj->BrushAttr.lbColor);
+   {
+      if (XlateObj)
+      {
+         BrushInst->BrushObject.iSolidColor = XLATEOBJ_iXlate(XlateObj, BrushObj->BrushAttr.lbColor);
+      }
+      else
+      {
+          BrushInst->BrushObject.iSolidColor = 0xFFFFFFFF;
+      }
+   }
    else
+   {
       BrushInst->BrushObject.iSolidColor = 0xFFFFFFFF;
+   }
+
    BrushInst->BrushObject.pvRbrush = BrushObj->ulRealization;
    BrushInst->BrushObject.flColorType = 0;
    BrushInst->GdiBrushObject = BrushObj;



More information about the Ros-diffs mailing list