From: Esme Povirk esme@codeweavers.com
--- dlls/comctl32/listview.c | 5 +++++ dlls/comctl32/tests/listview.c | 4 ++++ 2 files changed, 9 insertions(+)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index fd2abfd1928..b2856db471c 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -11862,6 +11862,11 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_GETFONT: return (LRESULT)infoPtr->hFont;
+ case WM_GETOBJECT: + if ((LONG)lParam == OBJID_QUERYCLASSNAMEIDX) + return 0x10013; + return DefWindowProcW(hwnd, uMsg, wParam, lParam); + case WM_HSCROLL: return LISTVIEW_HScroll(infoPtr, (INT)LOWORD(wParam), 0);
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c index 951def8fe0f..cea730a76c4 100644 --- a/dlls/comctl32/tests/listview.c +++ b/dlls/comctl32/tests/listview.c @@ -1086,6 +1086,7 @@ static void test_images(void) HIMAGELIST himl; HBITMAP hbmp; RECT r1, r2; + DWORD objid; static CHAR hello[] = "hello";
himl = pImageList_Create(40, 40, 0, 4, 4); @@ -1101,6 +1102,9 @@ static void test_images(void) 10, 10, 100, 200, hwndparent, NULL, NULL, NULL); ok(hwnd != NULL, "failed to create listview window\n");
+ objid = SendMessageA(hwnd, WM_GETOBJECT, 0, OBJID_QUERYCLASSNAMEIDX); + ok(objid == 0x10013, "Unexpected objid %lu.\n", objid); + r = SendMessageA(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_UNDERLINEHOT | LVS_EX_FLATSB | LVS_EX_ONECLICKACTIVATE);