aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/EphyBrowser.cpp
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-05-16 00:20:12 +0800
committerChristian Persch <chpe@src.gnome.org>2004-05-16 00:20:12 +0800
commitbc2707c6d4155c9a9a251cfdc2db86c1e097ea35 (patch)
treebd91d22bfac788f4121780f1542cf4c0adf1ade2 /embed/mozilla/EphyBrowser.cpp
parent8b98e5a84ca0346c9a86d51f0f9e22f24e7ad480 (diff)
downloadgsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.tar
gsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.tar.gz
gsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.tar.bz2
gsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.tar.lz
gsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.tar.xz
gsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.tar.zst
gsoc2013-epiphany-bc2707c6d4155c9a9a251cfdc2db86c1e097ea35.zip
Set mEventReceiver to nsnull too in ::Destroy(), fixes a crasher.
2004-05-15 Christian Persch <chpe@cvs.gnome.org> * embed/mozilla/EphyBrowser.cpp: Set mEventReceiver to nsnull too in ::Destroy(), fixes a crasher.
Diffstat (limited to 'embed/mozilla/EphyBrowser.cpp')
-rw-r--r--embed/mozilla/EphyBrowser.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/embed/mozilla/EphyBrowser.cpp b/embed/mozilla/EphyBrowser.cpp
index 9530b346c..061eba80c 100644
--- a/embed/mozilla/EphyBrowser.cpp
+++ b/embed/mozilla/EphyBrowser.cpp
@@ -26,6 +26,7 @@
#include "GlobalHistory.h"
#include "ephy-embed.h"
#include "ephy-string.h"
+#include "ephy-debug.h"
#include <gtkmozembed_internal.h>
#include <unistd.h>
@@ -84,12 +85,14 @@
#include "ContentHandler.h"
EphyEventListener::EphyEventListener(void)
+: mOwner(nsnull)
{
- mOwner = nsnull;
+ LOG ("EphyEventListener ctor (%p)", this)
}
EphyEventListener::~EphyEventListener()
{
+ LOG ("EphyEventListener dtor (%p)", this)
}
NS_IMPL_ISUPPORTS1(EphyEventListener, nsIDOMEventListener)
@@ -184,11 +187,10 @@ EphyPopupEventListener::HandleEvent(nsIDOMEvent* aDOMEvent)
}
EphyBrowser::EphyBrowser ()
+: mFaviconEventListener(nsnull)
+, mPopupEventListener(nsnull)
+, mInitialized(PR_FALSE)
{
- mFaviconEventListener = nsnull;
- mPopupEventListener = nsnull;
- mEventReceiver = nsnull;
- mInitialized = PR_FALSE;
}
EphyBrowser::~EphyBrowser ()
@@ -282,10 +284,11 @@ EphyBrowser::DetachListeners(void)
{
nsresult rv;
- NS_ENSURE_TRUE (mEventReceiver, NS_ERROR_FAILURE);
-
+ if (!mEventReceiver) return NS_OK;
+
nsCOMPtr<nsIDOMEventTarget> target;
target = do_QueryInterface (mEventReceiver);
+ NS_ENSURE_TRUE (target, NS_ERROR_FAILURE);
rv = target->RemoveEventListener(NS_LITERAL_STRING("DOMLinkAdded"),
mFaviconEventListener, PR_FALSE);
@@ -395,6 +398,7 @@ nsresult EphyBrowser::Destroy ()
mWebBrowser = nsnull;
mDOMWindow = nsnull;
+ mEventReceiver = nsnull;
mInitialized = PR_FALSE;