https://bugs.winehq.org/show_bug.cgi?id=57948
Bug ID: 57948 Summary: Listview / LVM_GETORIGIN is broken Product: Wine Version: 10.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comctl32 Assignee: wine-bugs@winehq.org Reporter: kyle.kcsoftwares@gmail.com Distribution: ---
See test program (see ListViewOrigin.cpp in ListViewOrigin.zip) from https://jira.reactos.org/browse/CORE-17266 which does a simple call to
SendMessage(g_hList, LVM_ENSUREVISIBLE, 35, FALSE);
POINT pt;
ListView_GetOrigin(g_hList, &pt); INT x = GetScrollPos(g_hList, SB_HORZ); INT y = GetScrollPos(g_hList, SB_VERT); if (y != 0 && pt.x == x && pt.y == y) MessageBox(hwnd, TEXT("success 1"), TEXT("success 1"), MB_ICONINFORMATION); else MessageBox(hwnd, TEXT("failure 1"), TEXT("failure 1"), MB_ICONINFORMATION);
SendMessage(g_hList, WM_VSCROLL, MAKELONG(SB_TOP, 0), 0);
ListView_GetOrigin(g_hList, &pt); x = GetScrollPos(g_hList, SB_HORZ); y = GetScrollPos(g_hList, SB_VERT); if (y == 0 && pt.x == x && pt.y == y) MessageBox(hwnd, TEXT("success 2"), TEXT("success 2"), MB_ICONINFORMATION); else MessageBox(hwnd, TEXT("failure 2"), TEXT("failure 2"), MB_ICONINFORMATION);
Shows "success 1" and "success 2" in Windows Shows "failure 1" and "failure 2" in Wine 10.3