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();