diff --git a/mozilla/widget/src/mac/nsMacMessageSink.cpp b/mozilla/widget/src/mac/nsMacMessageSink.cpp index af7554ba6e8..d93501a78e2 100644 --- a/mozilla/widget/src/mac/nsMacMessageSink.cpp +++ b/mozilla/widget/src/mac/nsMacMessageSink.cpp @@ -38,7 +38,8 @@ NS_EXPORT PRBool nsMacMessageSink::DispatchOSEvent( PRBool eventHandled = PR_FALSE; nsMacWindow* raptorWindow = GetNSWindowFromMacWindow(aWindow); - + // prevent the window being deleted while we're in its methods + nsCOMPtr kungFuDeathGrip(NS_STATIC_CAST(nsIWidget*, raptorWindow)); if (raptorWindow) { eventHandled = raptorWindow->HandleOSEvent(anEvent); @@ -61,6 +62,8 @@ NS_EXPORT PRBool nsMacMessageSink::DispatchMenuCommand( PRBool eventHandled = PR_FALSE; nsMacWindow* raptorWindow = GetNSWindowFromMacWindow(aWindow); + // prevent the window being deleted while we're in its methods + nsCOMPtr kungFuDeathGrip(NS_STATIC_CAST(nsIWidget*, raptorWindow)); if (raptorWindow) { eventHandled = raptorWindow->HandleMenuCommand(anEvent, menuResult);