[USER32][COMCTL32] EDIT control: Fix vertical scrolling past line number 32767 (#8930)

CORE-19305

Change how WM_VSCROLL is handled to allow higher line counts to be passed to EDIT_WM_VScroll.
Use the GetScrollInfo() function to determine vertical scroll position and pass this to EDIT_WM_VScroll.
---------
Co-authored-by: Jose Carlos Jesus <zecarlos1957@hotmail.com>
This commit is contained in:
Doug Lyons
2026-05-06 19:11:58 -05:00
committed by GitHub
parent 66ee8e6eee
commit 1dc2e6de72
2 changed files with 30 additions and 0 deletions

View File

@@ -5142,7 +5142,22 @@ static LRESULT CALLBACK EDIT_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
break;
case WM_VSCROLL:
#ifdef __REACTOS__
{
SCROLLINFO si;
si.cbSize = sizeof(si);
si.fMask = SIF_TRACKPOS;
if (!GetScrollInfo(hwnd, SB_VERT, &si))
{
result = 1;
break;
}
result = EDIT_WM_VScroll(es, LOWORD(wParam), si.nTrackPos);
}
#else
result = EDIT_WM_VScroll(es, LOWORD(wParam), (short)HIWORD(wParam));
#endif
break;
case WM_MOUSEWHEEL:

View File

@@ -5350,7 +5350,22 @@ LRESULT WINAPI EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
break;
case WM_VSCROLL:
#ifdef __REACTOS__
{
SCROLLINFO si;
si.cbSize = sizeof(si);
si.fMask = SIF_TRACKPOS;
if (!GetScrollInfo(hwnd, SB_VERT, &si))
{
result = 1;
break;
}
result = EDIT_WM_VScroll(es, LOWORD(wParam), si.nTrackPos);
}
#else
result = EDIT_WM_VScroll(es, LOWORD(wParam), (short)HIWORD(wParam));
#endif
break;
case WM_MOUSEWHEEL: