Module: wine Branch: master Commit: 9ac7bca209e1b11af898d1b393d13c8dc92c66e1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9ac7bca209e1b11af898d1b393...
Author: Akihiro Sagawa sagawa.aki@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; }