[WIN32K]
authorKamil Hornicek <kamil.hornicek@reactos.org>
Fri, 17 Feb 2017 13:13:36 +0000 (13:13 +0000)
committerKamil Hornicek <kamil.hornicek@reactos.org>
Fri, 17 Feb 2017 13:13:36 +0000 (13:13 +0000)
- The pattern bitmap can get deleted during the GDI cleanup for process before the brush itself.
- Gets rid of some of those pesky "GreDeleteObject: Trying to delete invalid object" debug prints.

svn path=/trunk/; revision=73812

reactos/win32ss/gdi/ntgdi/brush.cpp

index 2102976..5671324 100644 (file)
@@ -62,8 +62,8 @@ BRUSH::~BRUSH(
         GdiPoolFree(GetBrushAttrPool(), this->pBrushAttr);
     }
 
-    /* Delete the pattern bitmap */
-    if (this->hbmPattern != NULL)
+    /* Delete the pattern bitmap (may have already been deleted during gdi cleanup) */
+    if (this->hbmPattern != NULL && GreIsHandleValid(this->hbmPattern))
     {
         GreSetBitmapOwner(this->hbmPattern, BASEOBJECT::OWNER::POWNED);
         GreDeleteObject(this->hbmPattern);