diff --git a/mozilla/widget/src/windows/nsMenu.cpp b/mozilla/widget/src/windows/nsMenu.cpp index 317237262e8..759459cf97d 100644 --- a/mozilla/widget/src/windows/nsMenu.cpp +++ b/mozilla/widget/src/windows/nsMenu.cpp @@ -35,7 +35,6 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); static NS_DEFINE_IID(kIMenuIID, NS_IMENU_IID); -static NS_DEFINE_IID(kIMenuIID, NS_IMENU_IID); //NS_IMPL_ISUPPORTS(nsMenu, kIMenuIID) nsresult nsMenu::QueryInterface(REFNSIID aIID, void** aInstancePtr) @@ -52,12 +51,12 @@ nsresult nsMenu::QueryInterface(REFNSIID aIID, void** aInstancePtr) return NS_OK; } if (aIID.Equals(kISupportsIID)) { - *aInstancePtr = (void*)this; + *aInstancePtr = (void*)(nsISupports*)(nsIMenu*)this; NS_ADDREF_THIS(); return NS_OK; } if (aIID.Equals(kIMenuListenerIID)) { - *aInstancePtr = (void*) ((nsIMenuListener*)this); + *aInstancePtr = (void*)(nsIMenuListener*)this; NS_ADDREF_THIS(); return NS_OK; } diff --git a/mozilla/widget/src/windows/nsMenu.h b/mozilla/widget/src/windows/nsMenu.h index b9c950eb658..7a94ad87cd5 100644 --- a/mozilla/widget/src/windows/nsMenu.h +++ b/mozilla/widget/src/windows/nsMenu.h @@ -25,12 +25,13 @@ #include "nsIMenu.h" #include "nsVoidArray.h" +#include "nsIMenuListener.h" /** * Native Win32 button wrapper */ -class nsMenu : public nsIMenu +class nsMenu : public nsIMenu, public nsIMenuListener { public: @@ -39,6 +40,9 @@ public: NS_DECL_ISUPPORTS + //nsIMenuListener interface + nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); + NS_IMETHOD Create(nsIMenuBar * aParent, const nsString &aLabel); NS_IMETHOD Create(nsIMenu * aParent, const nsString &aLabel);