Akihiro Sagawa : user.exe: Release the Win16 lock due to loading 32-bit dlls in CreateWindow.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Aug 6 10:15:44 CDT 2015
Module: wine
Branch: master
Commit: 9ac7bca209e1b11af898d1b393d13c8dc92c66e1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ac7bca209e1b11af898d1b393d13c8dc92c66e1
Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date: Mon Aug 3 23:48:47 2015 +0900
user.exe: Release the Win16 lock due to loading 32-bit dlls in CreateWindow.
---
dlls/user.exe16/message.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/user.exe16/message.c b/dlls/user.exe16/message.c
index 935b025..b5d9225 100644
--- a/dlls/user.exe16/message.c
+++ b/dlls/user.exe16/message.c
@@ -2648,11 +2648,17 @@ static DWORD wait_message16( DWORD count, const HANDLE *handles, DWORD timeout,
*/
HWND create_window16( CREATESTRUCTW *cs, LPCWSTR className, HINSTANCE instance, BOOL unicode )
{
+ DWORD lock;
+ HWND ret;
+
/* map to module handle */
if (instance && !((ULONG_PTR)instance >> 16))
instance = HINSTANCE_32( GetExePtr( HINSTANCE_16(instance) ));
- return wow_handlers32.create_window( cs, className, instance, unicode );
+ ReleaseThunkLock( &lock );
+ ret = wow_handlers32.create_window( cs, className, instance, unicode );
+ RestoreThunkLock( lock );
+ return ret;
}
More information about the wine-cvs
mailing list