-- v2: comctl32: Handle WM_GETOBJECT in tab control.
From: Esme Povirk esme@codeweavers.com
--- dlls/comctl32/tab.c | 5 +++++ dlls/comctl32/tests/tab.c | 15 +++++++++++++++ 2 files changed, 20 insertions(+)
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c index b0d645bddd4..887682196bc 100644 --- a/dlls/comctl32/tab.c +++ b/dlls/comctl32/tab.c @@ -3368,6 +3368,11 @@ TAB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case TCM_SETEXTENDEDSTYLE: return TAB_SetExtendedStyle (infoPtr, wParam, lParam);
+ case WM_GETOBJECT: + if ((LONG)lParam == OBJID_QUERYCLASSNAMEIDX) + return 0x1000f; + break; + case WM_GETFONT: return TAB_GetFont (infoPtr);
diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c index 6d38baae8a6..2e6767a06d5 100644 --- a/dlls/comctl32/tests/tab.c +++ b/dlls/comctl32/tests/tab.c @@ -1621,6 +1621,20 @@ static void test_TCM_GETROWCOUNT(void) DestroyWindow(hTab); }
+static void test_WM_GETOBJECT(void) +{ + HWND hTab; + DWORD objid; + + hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE, 2); + ok(hTab != NULL, "Failed to create tab control\n"); + + objid = SendMessageA(hTab, WM_GETOBJECT, 0, OBJID_QUERYCLASSNAMEIDX); + ok(objid == 0x1000f, "Unexpected objid %lu.\n", objid); + + DestroyWindow(hTab); +} + START_TEST(tab) { LOGFONTA logfont; @@ -1660,6 +1674,7 @@ START_TEST(tab) test_create(); test_TCN_SELCHANGING(); test_TCM_GETROWCOUNT(); + test_WM_GETOBJECT();
uninit_winevent_hook();
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=147444
Your paranoid android.
=== debian11 (build log) ===
error: patch failed: dlls/comctl32/tab.c:3368 error: patch failed: dlls/comctl32/tests/tab.c:1660 Task: Patch failed to apply
=== debian11b (64 bit WoW report) ===
dinput: joystick8.c:5759: Test failed: input 1: WaitForSingleObject returned 0x102 joystick8.c:5760: Test failed: input 1: got 0 WM_INPUT messages joystick8.c:5763: Test failed: input 1: got dwType 0 joystick8.c:5764: Test failed: input 1: got header.dwSize 0 joystick8.c:5766: Test failed: input 1: got hDevice 0000000000000000 joystick8.c:5768: Test failed: input 1: got dwSizeHid 0 joystick8.c:5769: Test failed: input 1: got dwCount 0
Report validation errors: mshtml:script crashed (c0000005)
On Tue Jul 30 19:25:20 2024 +0000, Esme Povirk wrote:
changed this line in [version 2 of the diff](/wine/wine/-/merge_requests/6174/diffs?diff_id=124302&start_sha=e13b98ad9818def1676518514c5e452c11790787#3f76a19fe40c241fffb0bf4d2d7d1f59e0d46730_1633_1633)
Thanks, updated.
This merge request was approved by Nikolay Sivov.