Vincent Povirk : gdiplus: Mark the Graphics object as busy before freeing it.

Alexandre Julliard julliard at winehq.org
Mon Jan 6 14:47:12 CST 2014


Module: wine
Branch: master
Commit: 51b873b3ca03074698ab027f503acd7c1940ad80
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=51b873b3ca03074698ab027f503acd7c1940ad80

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Fri Jan  3 14:00:10 2014 -0600

gdiplus: Mark the Graphics object as busy before freeing it.

---

 dlls/gdiplus/graphics.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 122581d..7f892f6 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -2409,6 +2409,12 @@ GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *graphics)
     }
 
     GdipDeleteRegion(graphics->clip);
+
+    /* Native returns ObjectBusy on the second free, instead of crashing as we'd
+     * do otherwise, but we can't have that in the test suite because it means
+     * accessing freed memory. */
+    graphics->busy = TRUE;
+
     GdipFree(graphics);
 
     return Ok;




More information about the wine-cvs mailing list