diff --git a/mozilla/view/src/nsViewManager.cpp b/mozilla/view/src/nsViewManager.cpp index e2ba74df0e0..e00edcf3d67 100644 --- a/mozilla/view/src/nsViewManager.cpp +++ b/mozilla/view/src/nsViewManager.cpp @@ -2040,7 +2040,11 @@ nsEventStatus nsViewManager::HandleEvent(nsView* aView, nsGUIEvent* aEvent, PRBo if (nsnull != obs) { obs->HandleEvent(v, aEvent, &status, i == targetViews.Count() - 1, handled); } - } else { + } else if (!NS_IS_KEY_EVENT(aEvent)) { + // Forward aEvent to v's ViewManager observer, but only if it + // isn't a key event, since that should always be dispatched + // to the widget that has focus. + nsIViewObserver* vobs = nsnull; vVM->GetViewObserver(vobs); if (nsnull != vobs) {