From 34048fc38a9543943f3c437bf759e534d31ad1e8 Mon Sep 17 00:00:00 2001 From: "joki%netscape.com" Date: Sun, 14 Apr 2002 21:45:04 +0000 Subject: [PATCH] Fix for bug 78989, force focus events to go their corresponding view as opposed to using coordinate targeting which can be incorrect. r:roc+moz, sr:jst git-svn-id: svn://10.0.0.236/trunk@118961 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/view/src/nsViewManager.cpp | 2 +- mozilla/widget/public/nsGUIEvent.h | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mozilla/view/src/nsViewManager.cpp b/mozilla/view/src/nsViewManager.cpp index af8fe4cc234..4b5d5932b94 100644 --- a/mozilla/view/src/nsViewManager.cpp +++ b/mozilla/view/src/nsViewManager.cpp @@ -2021,7 +2021,7 @@ nsEventStatus nsViewManager::HandleEvent(nsView* aView, nsGUIEvent* aEvent, PRBo // accessibility events and key events are dispatched directly to the focused view if (aEvent->eventStructType == NS_ACCESSIBLE_EVENT || aEvent->message == NS_CONTEXTMENU_KEY - || NS_IS_KEY_EVENT(aEvent) || NS_IS_IME_EVENT(aEvent)) { + || NS_IS_KEY_EVENT(aEvent) || NS_IS_IME_EVENT(aEvent) || NS_IS_FOCUS_EVENT(aEvent)) { nsEventStatus status = nsEventStatus_eIgnore; if (obs) { PRBool handled; diff --git a/mozilla/widget/public/nsGUIEvent.h b/mozilla/widget/public/nsGUIEvent.h index a3b400f03d1..46e13eab352 100644 --- a/mozilla/widget/public/nsGUIEvent.h +++ b/mozilla/widget/public/nsGUIEvent.h @@ -589,6 +589,13 @@ enum nsDragDropEventStatus { ((evnt)->message == NS_RECONVERSION_QUERY) || \ ((evnt)->message == NS_COMPOSITION_QUERY)) +#define NS_IS_FOCUS_EVENT(evnt) \ + (((evnt)->message == NS_GOTFOCUS) || \ + ((evnt)->message == NS_LOSTFOCUS) || \ + ((evnt)->message == NS_ACTIVATE) || \ + ((evnt)->message == NS_DEACTIVATE) || \ + ((evnt)->message == NS_PLUGIN_ACTIVATE)) + /* * Virtual key bindings for keyboard events. * These come from nsIDOMKeyEvent.h, which is generated from MouseKeyEvent.idl.