From f2b3bf3afc8134ae10f73b8400a1f1768aa71698 Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Tue, 14 Mar 2006 16:58:22 +0000 Subject: [PATCH] Fix arrow keys in editors. Bug 330133, r=timeless, sr=neil git-svn-id: svn://10.0.0.236/trunk@192314 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp b/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp index 19bd0b45031..1d64afc3283 100644 --- a/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp +++ b/mozilla/content/xbl/src/nsXBLWindowKeyHandler.cpp @@ -197,6 +197,9 @@ nsXBLWindowKeyHandler::WalkHandlers(nsIDOMEvent* aKeyEvent, nsIAtom* aEventType) nsINativeKeyBindings *nativeBindings; if (isEditor && (nativeBindings = GetEditorKeyBindings())) { nsNativeKeyEvent nativeEvent; + // Some key events have no useful charCode + nativeEvent.charCode = 0; + keyEvent->GetKeyCode(&nativeEvent.keyCode); keyEvent->GetAltKey(&nativeEvent.altKey); keyEvent->GetCtrlKey(&nativeEvent.ctrlKey); keyEvent->GetShiftKey(&nativeEvent.shiftKey); @@ -218,15 +221,12 @@ nsXBLWindowKeyHandler::WalkHandlers(nsIDOMEvent* aKeyEvent, nsIAtom* aEventType) keyEvent->GetCharCode(&nativeEvent.charCode); handled = sNativeEditorBindings->KeyPress(nativeEvent, DoCommandCallback, controllers); + } else if (aEventType == nsXBLAtoms::keyup) { + handled = sNativeEditorBindings->KeyUp(nativeEvent, + DoCommandCallback, controllers); } else { - keyEvent->GetKeyCode(&nativeEvent.keyCode); - if (aEventType == nsXBLAtoms::keyup) { - handled = sNativeEditorBindings->KeyUp(nativeEvent, + handled = sNativeEditorBindings->KeyDown(nativeEvent, DoCommandCallback, controllers); - } else { - handled = sNativeEditorBindings->KeyDown(nativeEvent, - DoCommandCallback, controllers); - } } if (handled)