Alexandre Julliard : gdi32: Don' t hold the GDI lock while calling the SelectObject backends.

Alexandre Julliard julliard at winehq.org
Thu Sep 27 14:48:52 CDT 2007


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Sep 27 21:00:44 2007 +0200

gdi32: Don't hold the GDI lock while calling the SelectObject backends.

---

 dlls/gdi32/gdiobj.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/gdi32/gdiobj.c b/dlls/gdi32/gdiobj.c
index 9539d61..56d3f91 100644
--- a/dlls/gdi32/gdiobj.c
+++ b/dlls/gdi32/gdiobj.c
@@ -1156,9 +1156,9 @@ HGDIOBJ WINAPI SelectObject( HDC hdc, HGDIOBJ hObj )
         header = GDI_GetObjPtr( hObj, MAGIC_DONTCARE );
         if (header)
         {
-            if (header->funcs && header->funcs->pSelectObject)
-                ret = header->funcs->pSelectObject( hObj, hdc );
-	    GDI_ReleaseObj( hObj );
+            const struct gdi_obj_funcs *funcs = header->funcs;
+            GDI_ReleaseObj( hObj );
+            if (funcs && funcs->pSelectObject) ret = funcs->pSelectObject( hObj, hdc );
         }
     }
     return ret;




More information about the wine-cvs mailing list