fix for 29016. tell the rollup listener to rollup xul popups when the user clicks in the menubar or a DA. r=sfraser a=jar.
git-svn-id: svn://10.0.0.236/trunk@61620 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -48,6 +48,8 @@
|
||||
#include "plevent.h"
|
||||
#include "prthread.h"
|
||||
#include "nsMacTSMMessagePump.h"
|
||||
#include "nsIRollupListener.h"
|
||||
#include "nsIWidget.h"
|
||||
|
||||
#include <MacWindows.h>
|
||||
#include <ToolUtils.h>
|
||||
@@ -77,6 +79,11 @@ const short kMinWindowHeight = 150;
|
||||
|
||||
NS_WIDGET nsMacMessagePump::nsWindowlessMenuEventHandler nsMacMessagePump::gWindowlessMenuEventHandler = nsnull;
|
||||
|
||||
|
||||
extern nsIRollupListener * gRollupListener;
|
||||
extern nsIWidget * gRollupWidget;
|
||||
|
||||
|
||||
//======================================================================================
|
||||
// PROFILE
|
||||
//======================================================================================
|
||||
@@ -377,6 +384,8 @@ void nsMacMessagePump::DoMouseDown(EventRecord &anEvent)
|
||||
switch (partCode)
|
||||
{
|
||||
case inSysWindow:
|
||||
if ( gRollupListener && gRollupWidget )
|
||||
gRollupListener->Rollup();
|
||||
break;
|
||||
|
||||
case inMenuBar:
|
||||
@@ -387,6 +396,8 @@ void nsMacMessagePump::DoMouseDown(EventRecord &anEvent)
|
||||
menuResult = ConvertOSMenuResultToPPMenuResult(menuResult);
|
||||
DoMenu(anEvent, menuResult);
|
||||
}
|
||||
if ( gRollupListener && gRollupWidget )
|
||||
gRollupListener->Rollup();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user