From ea21d2ad3bcb09fb81c07fd4053a1ff2f0b9c459 Mon Sep 17 00:00:00 2001 From: "jst%mozilla.jstenback.com" Date: Sat, 10 Apr 2004 00:25:01 +0000 Subject: [PATCH] Fixing bug 238449. Make plugins not get mozilla context menus again. r+sr=dbaron@dbaron.org, a=asa@mozilla.org --- content/events/src/nsEventListenerManager.cpp | 2 +- layout/generic/nsObjectFrame.cpp | 14 +++++++++++--- layout/html/base/src/nsObjectFrame.cpp | 14 +++++++++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/content/events/src/nsEventListenerManager.cpp b/content/events/src/nsEventListenerManager.cpp index f80c8266182..747e7166eb2 100644 --- a/content/events/src/nsEventListenerManager.cpp +++ b/content/events/src/nsEventListenerManager.cpp @@ -125,7 +125,7 @@ static nsresult DispatchToInterface(nsIDOMEvent* aEvent, if (ifaceListener) { *aHasInterface = PR_TRUE; rv = (ifaceListener->*aMethod)(aEvent); - NS_RELEASE(aListener); + NS_RELEASE(ifaceListener); } return rv; } diff --git a/layout/generic/nsObjectFrame.cpp b/layout/generic/nsObjectFrame.cpp index 23d2c2af1c2..0252e3736cb 100644 --- a/layout/generic/nsObjectFrame.cpp +++ b/layout/generic/nsObjectFrame.cpp @@ -178,7 +178,7 @@ public: NS_DECL_ISUPPORTS - NS_IMETHOD ContextMenu(nsIDOMEvent* aContextMenuEvent) { return NS_ERROR_FAILURE; /* means consume event */ } + NS_IMETHOD ContextMenu(nsIDOMEvent* aContextMenuEvent); nsresult Init(nsObjectFrame *aFrame); nsresult Destroy(nsObjectFrame *aFrame); @@ -1835,8 +1835,8 @@ nsObjectFrame::HandleEvent(nsIPresContext* aPresContext, nsGUIEvent* anEvent, nsEventStatus* anEventStatus) { - NS_ENSURE_ARG_POINTER(anEventStatus); - nsresult rv = NS_OK; + NS_ENSURE_ARG_POINTER(anEventStatus); + nsresult rv = NS_OK; //FIX FOR CRASHING WHEN NO INSTANCE OWVER if (!mInstanceOwner) @@ -1994,6 +1994,14 @@ nsPluginDOMContextMenuListener::~nsPluginDOMContextMenuListener() NS_IMPL_ISUPPORTS2(nsPluginDOMContextMenuListener, nsIDOMContextMenuListener, nsIEventListener) +NS_IMETHODIMP +nsPluginDOMContextMenuListener::ContextMenu(nsIDOMEvent* aContextMenuEvent) +{ + aContextMenuEvent->PreventDefault(); /* consume event */ + + return NS_OK; +} + nsresult nsPluginDOMContextMenuListener::Init(nsObjectFrame *aFrame) { nsIContent* content = aFrame->GetContent(); diff --git a/layout/html/base/src/nsObjectFrame.cpp b/layout/html/base/src/nsObjectFrame.cpp index 23d2c2af1c2..0252e3736cb 100644 --- a/layout/html/base/src/nsObjectFrame.cpp +++ b/layout/html/base/src/nsObjectFrame.cpp @@ -178,7 +178,7 @@ public: NS_DECL_ISUPPORTS - NS_IMETHOD ContextMenu(nsIDOMEvent* aContextMenuEvent) { return NS_ERROR_FAILURE; /* means consume event */ } + NS_IMETHOD ContextMenu(nsIDOMEvent* aContextMenuEvent); nsresult Init(nsObjectFrame *aFrame); nsresult Destroy(nsObjectFrame *aFrame); @@ -1835,8 +1835,8 @@ nsObjectFrame::HandleEvent(nsIPresContext* aPresContext, nsGUIEvent* anEvent, nsEventStatus* anEventStatus) { - NS_ENSURE_ARG_POINTER(anEventStatus); - nsresult rv = NS_OK; + NS_ENSURE_ARG_POINTER(anEventStatus); + nsresult rv = NS_OK; //FIX FOR CRASHING WHEN NO INSTANCE OWVER if (!mInstanceOwner) @@ -1994,6 +1994,14 @@ nsPluginDOMContextMenuListener::~nsPluginDOMContextMenuListener() NS_IMPL_ISUPPORTS2(nsPluginDOMContextMenuListener, nsIDOMContextMenuListener, nsIEventListener) +NS_IMETHODIMP +nsPluginDOMContextMenuListener::ContextMenu(nsIDOMEvent* aContextMenuEvent) +{ + aContextMenuEvent->PreventDefault(); /* consume event */ + + return NS_OK; +} + nsresult nsPluginDOMContextMenuListener::Init(nsObjectFrame *aFrame) { nsIContent* content = aFrame->GetContent();