Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53646
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com
-- v3: user.exe16: Correctly detect and assign an int resource
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53646 --- dlls/user.exe16/message.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/dlls/user.exe16/message.c b/dlls/user.exe16/message.c index 9af217bf5f1..ced2f5ba4d0 100644 --- a/dlls/user.exe16/message.c +++ b/dlls/user.exe16/message.c @@ -2573,10 +2573,21 @@ static LRESULT static_proc16( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, */ HWND create_window16( CREATESTRUCTW *cs, LPCWSTR className, HINSTANCE instance, BOOL unicode ) { + WCHAR name[3]; + /* map to module handle */ if (instance && !((ULONG_PTR)instance >> 16)) instance = HINSTANCE_32( GetExePtr( HINSTANCE_16(instance) ));
+ if (IS_INTRESOURCE(cs->lpszName)) + { + name[0] = 0xff; + name[1] = LOWORD(cs->lpszName); + name[2] = 0; + + cs->lpszName = name; + } + return wow_handlers32.create_window( cs, className, instance, unicode ); }
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=124952
Your paranoid android.
=== debian11 (32 bit report) ===
d3drm: d3drm.c:5726: Test failed: Expected hr == D3DRMERR_BADOBJECT, got hr 0x88760316. d3drm.c:5728: Test failed: expected ref3 > ref4, got ref3 = 2 , ref4 = 2. Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0041eca3).
ddraw: ddraw1.c:14319: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw1.c:14333: Test failed: Expect clip rect (0,0)-(640,480), got (0,0)-(1664,737). ddraw1.c:14343: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw2.c:15302: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw2.c:15316: Test failed: Expect clip rect (0,0)-(640,480), got (0,0)-(1664,737). ddraw2.c:15326: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw4.c:18352: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw4.c:18366: Test failed: Expect clip rect (0,0)-(640,480), got (0,0)-(1664,737). ddraw4.c:18376: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw7.c:18619: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737). ddraw7.c:18633: Test failed: Expect clip rect (0,0)-(640,480), got (0,0)-(1664,737). ddraw7.c:18643: Test failed: Expect clip rect (0,0)-(1024,737), got (0,0)-(2048,737).
msctf: inputprocessor.c:2437: Test failed: Expected DocumentMgr not focused Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0040ae26).
winmm: midi: Timeout
=== debian11 (build log) ===
0630:err:winediag:d3d_device_create The application wants to create a Direct3D device, but the current DirectDrawRenderer does not support this. 0630:err:winediag:d3d_device_create The application wants to create a Direct3D device, but the current DirectDrawRenderer does not support this. 0630:err:winediag:d3d_device_create The application wants to create a Direct3D device, but the current DirectDrawRenderer does not support this.
=== debian11 (build log) ===
Use of uninitialized value $Flaky in addition (+) at /home/testbot/lib/WineTestBot/LogUtils.pm line 720, <$LogFile> line 25092. Use of uninitialized value $Flaky in addition (+) at /home/testbot/lib/WineTestBot/LogUtils.pm line 720, <$LogFile> line 25092. Use of uninitialized value $Flaky in addition (+) at /home/testbot/lib/WineTestBot/LogUtils.pm line 720, <$LogFile> line 25092.
Jacek Caban (@jacek) commented about dlls/user.exe16/message.c:
*/ HWND create_window16( CREATESTRUCTW *cs, LPCWSTR className, HINSTANCE instance, BOOL unicode ) {
I'd expect 16-bit `CreateWindow()` to be similar to 32-bit, which would mean that it's not the right place to fix it. I think we want something similar to 0739aa610cc073b, could you please give https://gitlab.winehq.org/jacek/wine/-/commit/c8d7581cb05d7476f9daf90419c987... a try?
On Thu Oct 13 14:51:06 2022 +0000, Jacek Caban wrote:
I'd expect 16-bit `CreateWindow()` to be similar to 32-bit, which would mean that it's not the right place to fix it. I think we want something similar to 0739aa610cc073b, could you please give https://gitlab.winehq.org/jacek/wine/-/commit/c8d7581cb05d7476f9daf90419c987... a try?
Thanks. That fixed the issue I was trying to fix.
Still crashes later on with an different issue.