From: Nikolay Sivov nsivov@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57948 Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/comctl32/listview.c | 10 ++++++++-- dlls/comctl32/tests/listview.c | 1 - 2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 9191aef1c3f..14786ec2b7a 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -11552,11 +11552,17 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) return 1;
case LVM_GETORIGIN: - if (!lParam) return FALSE; + { + POINT *point = (POINT *)lParam; + + if (!point) return FALSE; if (infoPtr->uView == LV_VIEW_DETAILS || infoPtr->uView == LV_VIEW_LIST) return FALSE; - LISTVIEW_GetOrigin(infoPtr, (LPPOINT)lParam); + LISTVIEW_GetOrigin(infoPtr, point); + point->x = -point->x; + point->y = -point->y; return TRUE; + }
/* case LVM_GETOUTLINECOLOR: */
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c index b9320475099..1a212e5d0ad 100644 --- a/dlls/comctl32/tests/listview.c +++ b/dlls/comctl32/tests/listview.c @@ -2443,7 +2443,6 @@ static void test_LVM_GETORIGIN(BOOL is_v6) position.x = position.y = 0; r = SendMessageA(hwnd, LVM_GETORIGIN, 0, (LPARAM)&position); ok(r == 1, "Unexpected return value %lu.\n", r); - todo_wine ok(position.y == 50, "Unexpected position %ld.\n", position.y);
DestroyWindow(hwnd);