From: Esme Povirk esme@codeweavers.com
--- dlls/gdiplus/graphics.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 9e08ddeb5bf..e849446d2a7 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -2106,12 +2106,20 @@ end:
GpStatus trace_path(GpGraphics *graphics, GpPath *path) { + HDC hdc; GpStatus result;
- BeginPath(graphics->hdc); + result = gdi_dc_acquire(graphics, &hdc); + if (result != Ok) + return result; + + BeginPath(hdc); result = draw_poly(graphics, NULL, path->pathdata.Points, path->pathdata.Types, path->pathdata.Count, FALSE); - EndPath(graphics->hdc); + EndPath(hdc); + + gdi_dc_release(graphics, hdc); + return result; }