diff --git a/DDrawCompat/CompatGdiWinProc.cpp b/DDrawCompat/CompatGdiWinProc.cpp index bc1fddd..95ae4c7 100644 --- a/DDrawCompat/CompatGdiWinProc.cpp +++ b/DDrawCompat/CompatGdiWinProc.cpp @@ -19,6 +19,7 @@ namespace void disableDwmAttributes(HWND hwnd); void onMenuSelect(); + void onScroll(HWND hwnd, HWND scrollBar); void onWindowPosChanged(HWND hwnd); void removeDropShadow(HWND hwnd); @@ -45,7 +46,7 @@ namespace } else if (WM_VSCROLL == ret->message || WM_HSCROLL == ret->message) { - CompatGdiScrollFunctions::updateScrolledWindow(ret->hwnd); + onScroll(ret->hwnd, reinterpret_cast(ret->lParam)); } else if (WM_COMMAND == ret->message) { @@ -146,6 +147,21 @@ namespace } } + void onScroll(HWND hwnd, HWND scrollBar) + { + if (scrollBar) + { + UpdateWindow(scrollBar); + } + + CompatGdiScrollFunctions::updateScrolledWindow(hwnd); + + if (scrollBar) + { + ValidateRect(scrollBar, nullptr); + } + } + void onWindowPosChanged(HWND hwnd) { CompatGdi::GdiScopedThreadLock lock;