Conditionally compile Mac-specific bug fix.

It apparently hangs some other window managers.

Fixes: lp:1748793
* https://bugs.launchpad.net/kicad/+bug/1748793
This commit is contained in:
Jeff Young 2018-02-23 13:09:17 +00:00 committed by Wayne Stambaugh
parent 8c1847f7ab
commit bbad8dc9af
1 changed files with 6 additions and 0 deletions

View File

@ -175,12 +175,18 @@ EDA_BASE_FRAME::~EDA_BASE_FRAME()
bool EDA_BASE_FRAME::ProcessEvent( wxEvent& aEvent ) bool EDA_BASE_FRAME::ProcessEvent( wxEvent& aEvent )
{ {
#ifdef __WXMAC__
// Apple in its infinite wisdom will raise a disabled window before even passing
// us the event, so we have no way to stop it. Instead, we have to catch an
// improperly ordered disabled window and quasi-modal dialog here and reorder
// them.
if( !IsEnabled() && IsActive() ) if( !IsEnabled() && IsActive() )
{ {
DIALOG_SHIM* dlg = findQuasiModalDialog( GetChildren() ); DIALOG_SHIM* dlg = findQuasiModalDialog( GetChildren() );
if( dlg ) if( dlg )
dlg->Raise(); dlg->Raise();
} }
#endif
if( !wxFrame::ProcessEvent( aEvent ) ) if( !wxFrame::ProcessEvent( aEvent ) )
return false; return false;