Index: content/events/src/nsEventStateManager.cpp =================================================================== RCS file: /cvsroot/mozilla/content/events/src/nsEventStateManager.cpp,v retrieving revision 1.466 diff -u -u -r1.466 nsEventStateManager.cpp --- content/events/src/nsEventStateManager.cpp 19 Nov 2003 02:23:25 -0000 1.466 +++ content/events/src/nsEventStateManager.cpp 29 Jan 2004 09:11:52 -0000 @@ -150,7 +150,9 @@ MOUSE_SCROLL_N_LINES, MOUSE_SCROLL_PAGE, MOUSE_SCROLL_HISTORY, - MOUSE_SCROLL_TEXTSIZE + MOUSE_SCROLL_TEXTSIZE, + MOUSE_SCROLL_N_INDEXES, + MOUSE_SCROLL_PAGE_H }; nsEventStateManager::nsEventStateManager() @@ -1928,7 +1930,7 @@ if (aBool) { numLines = msEvent->delta; if (msEvent->scrollFlags & nsMouseScrollEvent::kIsFullPage) - action = MOUSE_SCROLL_PAGE; + action = (msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal)? MOUSE_SCROLL_PAGE_H: MOUSE_SCROLL_PAGE; } else mPrefBranch->GetIntPref("mousewheel.withshiftkey.numlines", @@ -1940,7 +1942,7 @@ if (aBool) { numLines = msEvent->delta; if (msEvent->scrollFlags & nsMouseScrollEvent::kIsFullPage) - action = MOUSE_SCROLL_PAGE; + action = (msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal)? MOUSE_SCROLL_PAGE_H: MOUSE_SCROLL_PAGE; } else mPrefBranch->GetIntPref("mousewheel.withcontrolkey.numlines", @@ -1951,7 +1953,7 @@ if (aBool) { numLines = msEvent->delta; if (msEvent->scrollFlags & nsMouseScrollEvent::kIsFullPage) - action = MOUSE_SCROLL_PAGE; + action = (msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal)? MOUSE_SCROLL_PAGE_H: MOUSE_SCROLL_PAGE; } else mPrefBranch->GetIntPref("mousewheel.withaltkey.numlines", @@ -1962,7 +1964,7 @@ if (aBool) { numLines = msEvent->delta; if (msEvent->scrollFlags & nsMouseScrollEvent::kIsFullPage) - action = MOUSE_SCROLL_PAGE; + action = (msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal)? MOUSE_SCROLL_PAGE_H: MOUSE_SCROLL_PAGE; } else mPrefBranch->GetIntPref("mousewheel.withnokey.numlines", &numLines); @@ -1972,12 +1974,16 @@ numLines = -numLines; switch (action) { + case MOUSE_SCROLL_N_INDEXS: + case MOUSE_SCROLL_PAGE_H: + // msEvent->scrollFlags ^= (nsMouseScrollEvent::kIsVertical | nsMouseScrollEvent::kIsHorizontal); // this may exchange horizontal <-> vertical + msEvent->scrollFlags |= nsMouseScrollEvent::kIsHorizontal; case MOUSE_SCROLL_N_LINES: case MOUSE_SCROLL_PAGE: { DoWheelScroll(aPresContext, aTargetFrame, msEvent, numLines, (msEvent->scrollFlags & nsMouseScrollEvent::kIsHorizontal), - (action == MOUSE_SCROLL_PAGE), PR_FALSE); + (action == MOUSE_SCROLL_PAGE || action == MOUSE_SCROLL_PAGE_H), PR_FALSE); } Index: xpfe/components/prefwindow/resources/content/pref-mousewheel.xul =================================================================== RCS file: /cvsroot/mozilla/xpfe/components/prefwindow/resources/content/pref-mousewheel.xul,v retrieving revision 1.40 diff -u -u -r1.40 pref-mousewheel.xul --- xpfe/components/prefwindow/resources/content/pref-mousewheel.xul 22 Nov 2003 18:12:18 -0000 1.40 +++ xpfe/components/prefwindow/resources/content/pref-mousewheel.xul 29 Jan 2004 09:11:53 -0000 @@ -38,10 +38,10 @@