Akihiro Sagawa : user.exe: Release the Win16 lock due to loading 32-bit dlls in CreateWindow.
Module: wine Branch: master Commit: 9ac7bca209e1b11af898d1b393d13c8dc92c66e1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ac7bca209e1b11af898d1b393... Author: Akihiro Sagawa <sagawa.aki(a)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; }
participants (1)
-
Alexandre Julliard