From: Esme Povirk esme@codeweavers.com
--- dlls/comctl32/hotkey.c | 5 +++++ dlls/comctl32/tests/misc.c | 16 ++++++++++++++++ 2 files changed, 21 insertions(+)
diff --git a/dlls/comctl32/hotkey.c b/dlls/comctl32/hotkey.c index 1fc9658c179..9d3470fdc4a 100644 --- a/dlls/comctl32/hotkey.c +++ b/dlls/comctl32/hotkey.c @@ -543,6 +543,11 @@ HOTKEY_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_GETDLGCODE: return DLGC_WANTCHARS | DLGC_WANTARROWS;
+ case WM_GETOBJECT: + if ((LONG)lParam == OBJID_QUERYCLASSNAMEIDX) + return 0x10010; + break; + case WM_GETFONT: return HOTKEY_GetFont (infoPtr);
diff --git a/dlls/comctl32/tests/misc.c b/dlls/comctl32/tests/misc.c index bb3f1993a83..5e6e75ef9ab 100644 --- a/dlls/comctl32/tests/misc.c +++ b/dlls/comctl32/tests/misc.c @@ -1271,6 +1271,21 @@ static void test_WM_SETFONT(void) DestroyWindow(parent); }
+static void test_WM_GETOBJECT(void) +{ + HWND hwnd; + DWORD objid; + + hwnd = CreateWindowA(HOTKEY_CLASSA, "test", WS_POPUP, 100, 100, 100, 100, + 0, 0, 0, 0); + ok(hwnd != NULL, "CreateWindowA failed, error %lu.\n", GetLastError()); + + objid = SendMessageA(hwnd, WM_GETOBJECT, 0, OBJID_QUERYCLASSNAMEIDX); + ok(objid == 0x10010, "Unexpected objid %lu.\n", objid); + + DestroyWindow(hwnd); +} + START_TEST(misc) { ULONG_PTR ctx_cookie; @@ -1301,6 +1316,7 @@ START_TEST(misc) test_WM_SYSCOLORCHANGE(); test_WM_STYLECHANGED(); test_WM_SETFONT(); + test_WM_GETOBJECT();
unload_v6_module(ctx_cookie, hCtx); FreeLibrary(hComctl32);