From: Nikolay Sivov <nsivov(a)codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57948 Signed-off-by: Nikolay Sivov <nsivov(a)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); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7541