[WIN32K]
authorJérôme Gardou <jerome.gardou@reactos.org>
Thu, 18 Sep 2014 13:27:02 +0000 (13:27 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Thu, 18 Sep 2014 13:27:02 +0000 (13:27 +0000)
 - Fix error handling in NtGdiPathToRegion

svn path=/trunk/; revision=64190

reactos/win32ss/gdi/ntgdi/path.c

index 8d7e34e..d7af75a 100644 (file)
@@ -2716,19 +2716,20 @@ NtGdiPathToRegion(HDC  hDC)
         {
             PATH_UnlockPath(pPath);
             DC_UnlockDc(pDc);
         {
             PATH_UnlockPath(pPath);
             DC_UnlockDc(pDc);
+            return NULL;
         }
         hrgnRval = Rgn->BaseObject.hHmgr;
         /* FIXME: Should we empty the path even if conversion failed? */
         if (PATH_PathToRegion(pPath, pdcattr->jFillMode, Rgn))
         {
             PATH_EmptyPath(pPath);
         }
         hrgnRval = Rgn->BaseObject.hHmgr;
         /* FIXME: Should we empty the path even if conversion failed? */
         if (PATH_PathToRegion(pPath, pdcattr->jFillMode, Rgn))
         {
             PATH_EmptyPath(pPath);
+            RGNOBJAPI_Unlock(Rgn);
         }
         else
         {
         }
         else
         {
-            GreDeleteObject(hrgnRval);
+            REGION_Delete(Rgn);
             hrgnRval = NULL;
         }
             hrgnRval = NULL;
         }
-        RGNOBJAPI_Unlock(Rgn);
     }
 
     PATH_UnlockPath(pPath);
     }
 
     PATH_UnlockPath(pPath);