diff --git a/mozilla/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp b/mozilla/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp index 6bd1d20103b..0e3c095e4ae 100644 --- a/mozilla/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp +++ b/mozilla/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp @@ -625,6 +625,10 @@ NS_IMETHODIMP nsDocShellTreeOwner::RemoveMouseListener() // Unsubscribe from mouse events if (mLastDOMDocument) { + // Removing the mouse listener may cause this instance to + // be deleted... So, keep an extra reference to defer destruction.. + nsCOMPtr kungFuDeathGrip(this); + nsCOMPtr eventReceiver; mLastDOMDocument->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(eventReceiver)); if (eventReceiver)