diff --git a/mozilla/widget/src/windows/nsWindow.cpp b/mozilla/widget/src/windows/nsWindow.cpp index c1d55828dfe..c3a4bcebce3 100644 --- a/mozilla/widget/src/windows/nsWindow.cpp +++ b/mozilla/widget/src/windows/nsWindow.cpp @@ -5671,11 +5671,13 @@ PRBool nsWindow::ProcessMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT scrollEvent.delta = 0; if (isVertical) { scrollEvent.scrollFlags = nsMouseScrollEvent::kIsVertical; + int verticalAmount = + msg == WM_MOUSEWHEEL ? (short) HIWORD (wParam) : (int) wParam; if (ulScrollLines == WHEEL_PAGESCROLL) { scrollEvent.scrollFlags |= nsMouseScrollEvent::kIsFullPage; - scrollEvent.delta = (((short) HIWORD (wParam)) > 0) ? -1 : 1; + scrollEvent.delta = verticalAmount > 0 ? -1 : 1; } else { - currentVDelta -= (short) HIWORD (wParam); + currentVDelta -= verticalAmount; if (PR_ABS(currentVDelta) >= iDeltaPerLine) { scrollEvent.delta = currentVDelta / iDeltaPerLine; currentVDelta %= iDeltaPerLine;