From b524a377739b70228309efb80cc884f70f1c6f6b Mon Sep 17 00:00:00 2001 From: "hyatt%netscape.com" Date: Sat, 15 May 1999 03:53:19 +0000 Subject: [PATCH] Fixing a crash when you clicked outside the popup. --- widget/src/windows/nsContextMenu.cpp | 29 ++++++++++++---------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/widget/src/windows/nsContextMenu.cpp b/widget/src/windows/nsContextMenu.cpp index f03d7e05f8ad..3541e3ee371f 100644 --- a/widget/src/windows/nsContextMenu.cpp +++ b/widget/src/windows/nsContextMenu.cpp @@ -402,25 +402,20 @@ nsEventStatus nsContextMenu::MenuSelected(const nsMenuEvent & aMenuEvent) TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD, mX, mY, 0, pWnd, NULL); - // Dispatch to MenuItemSelected - nsIContextMenu * menu; - QueryInterface(kIContextMenuIID, (void**) &menu); - nsIMenuItem * menuItem = FindMenuItem(menu, identifier); - NS_RELEASE(menu); - if (menuItem) { - nsIMenuListener * listener; - if (NS_OK == menuItem->QueryInterface(kIMenuListenerIID, (void **)&listener)) { - listener->MenuItemSelected(aMenuEvent); - NS_RELEASE(listener); + if (identifier > 0) { + // Dispatch to MenuItemSelected + nsIContextMenu * menu; + QueryInterface(kIContextMenuIID, (void**) &menu); + nsIMenuItem * menuItem = FindMenuItem(menu, identifier); + NS_RELEASE(menu); + if (menuItem) { + nsIMenuListener * listener; + if (NS_OK == menuItem->QueryInterface(kIMenuListenerIID, (void **)&listener)) { + listener->MenuItemSelected(aMenuEvent); + NS_RELEASE(listener); + } } } - - /* - if (nsnull != mListener) { - NS_ASSERTION(false, "get debugger"); - mListener->MenuSelected(aMenuEvent); - } - */ return nsEventStatus_eIgnore; }