From: Esme Povirk esme@codeweavers.com
--- dlls/comctl32/button.c | 5 +++++ dlls/comctl32/tests/button.c | 12 ++++++++++++ 2 files changed, 17 insertions(+)
diff --git a/dlls/comctl32/button.c b/dlls/comctl32/button.c index 9e7eaedc383..11a9760e3e2 100644 --- a/dlls/comctl32/button.c +++ b/dlls/comctl32/button.c @@ -885,6 +885,11 @@ static LRESULT CALLBACK BUTTON_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, L InvalidateRect( hWnd, NULL, FALSE ); break;
+ case WM_GETOBJECT: + if ((LONG)lParam == OBJID_QUERYCLASSNAMEIDX) + return 0x10002; + break; + case BM_SETSTYLE: { DWORD new_btn_type; diff --git a/dlls/comctl32/tests/button.c b/dlls/comctl32/tests/button.c index c554ac4e50b..8895c13c0a5 100644 --- a/dlls/comctl32/tests/button.c +++ b/dlls/comctl32/tests/button.c @@ -2445,6 +2445,17 @@ static void test_visual(void) DestroyWindow(parent); }
+static void test_getobject(void) +{ + HWND hwnd; + LONG idx; + + hwnd = create_button(BS_PUSHBUTTON, NULL); + idx = SendMessageA(hwnd, WM_GETOBJECT, 0, OBJID_QUERYCLASSNAMEIDX); + ok(idx == 0x10002, "Expect idx 0x%08x, got 0x%08lx\n", 0x10002, idx); + DestroyWindow(hwnd); +} + START_TEST(button) { BOOL (WINAPI * pIsThemeActive)(VOID); @@ -2482,6 +2493,7 @@ START_TEST(button) test_bcm_get_ideal_size(); test_style(); test_visual(); + test_getobject();
uninit_winevent_hook();