diff --git a/mozilla/editor/base/nsEditorShellMouseListener.cpp b/mozilla/editor/base/nsEditorShellMouseListener.cpp index 43d0f52a4d4..05d3c795ca1 100644 --- a/mozilla/editor/base/nsEditorShellMouseListener.cpp +++ b/mozilla/editor/base/nsEditorShellMouseListener.cpp @@ -55,7 +55,8 @@ nsEditorShellMouseListener::QueryInterface(REFNSIID aIID, void** aInstancePtr) } if (aIID.Equals(NS_GET_IID(nsISupports))) { - *aInstancePtr = (void*)(nsISupports*)this; + *aInstancePtr = (void*)(nsIDOMEventListener*)this; + *aInstancePtr = (nsISupports*)*aInstancePtr; NS_ADDREF_THIS(); return NS_OK; } @@ -69,6 +70,11 @@ nsEditorShellMouseListener::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_ADDREF_THIS(); return NS_OK; } + if (aIID.Equals(NS_GET_IID(nsISupportsWeakReference))) { + *aInstancePtr = (void*)(nsISupportsWeakReference*)this; + NS_ADDREF_THIS(); + return NS_OK; + } return NS_NOINTERFACE; } diff --git a/mozilla/editor/base/nsEditorShellMouseListener.h b/mozilla/editor/base/nsEditorShellMouseListener.h index 0cd02294bb4..25014eeb4d2 100644 --- a/mozilla/editor/base/nsEditorShellMouseListener.h +++ b/mozilla/editor/base/nsEditorShellMouseListener.h @@ -24,13 +24,15 @@ #define editorShellMouseLisenter_h__ #include "nsCOMPtr.h" +#include "nsWeakReference.h" #include "nsIDOMEvent.h" #include "nsIDOMMouseListener.h" #include "nsIEditorShell.h" -class nsEditorShellMouseListener : public nsIDOMMouseListener +class nsEditorShellMouseListener : public nsIDOMMouseListener, + public nsSupportsWeakReference { public: /** default constructor diff --git a/mozilla/editor/composer/src/nsEditorShellMouseListener.cpp b/mozilla/editor/composer/src/nsEditorShellMouseListener.cpp index 43d0f52a4d4..05d3c795ca1 100644 --- a/mozilla/editor/composer/src/nsEditorShellMouseListener.cpp +++ b/mozilla/editor/composer/src/nsEditorShellMouseListener.cpp @@ -55,7 +55,8 @@ nsEditorShellMouseListener::QueryInterface(REFNSIID aIID, void** aInstancePtr) } if (aIID.Equals(NS_GET_IID(nsISupports))) { - *aInstancePtr = (void*)(nsISupports*)this; + *aInstancePtr = (void*)(nsIDOMEventListener*)this; + *aInstancePtr = (nsISupports*)*aInstancePtr; NS_ADDREF_THIS(); return NS_OK; } @@ -69,6 +70,11 @@ nsEditorShellMouseListener::QueryInterface(REFNSIID aIID, void** aInstancePtr) NS_ADDREF_THIS(); return NS_OK; } + if (aIID.Equals(NS_GET_IID(nsISupportsWeakReference))) { + *aInstancePtr = (void*)(nsISupportsWeakReference*)this; + NS_ADDREF_THIS(); + return NS_OK; + } return NS_NOINTERFACE; } diff --git a/mozilla/editor/composer/src/nsEditorShellMouseListener.h b/mozilla/editor/composer/src/nsEditorShellMouseListener.h index 0cd02294bb4..25014eeb4d2 100644 --- a/mozilla/editor/composer/src/nsEditorShellMouseListener.h +++ b/mozilla/editor/composer/src/nsEditorShellMouseListener.h @@ -24,13 +24,15 @@ #define editorShellMouseLisenter_h__ #include "nsCOMPtr.h" +#include "nsWeakReference.h" #include "nsIDOMEvent.h" #include "nsIDOMMouseListener.h" #include "nsIEditorShell.h" -class nsEditorShellMouseListener : public nsIDOMMouseListener +class nsEditorShellMouseListener : public nsIDOMMouseListener, + public nsSupportsWeakReference { public: /** default constructor