|
|
|
@ -168,16 +168,29 @@ EDA_BASE_FRAME::EDA_BASE_FRAME( wxWindow* aParent, FRAME_T aFrameType, const wxS |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
wxWindow* EDA_BASE_FRAME::findQuasiModalDialog() |
|
|
|
wxWindow* findQuasiModalDialog( wxWindow* aParent ) |
|
|
|
{ |
|
|
|
for( wxWindow* iter : GetChildren() ) |
|
|
|
for( wxWindow* child : aParent->GetChildren() ) |
|
|
|
{ |
|
|
|
DIALOG_SHIM* dlg = dynamic_cast<DIALOG_SHIM*>( iter ); |
|
|
|
if( DIALOG_SHIM* dlg = dynamic_cast<DIALOG_SHIM*>( child ) ) |
|
|
|
{ |
|
|
|
if( dlg->IsQuasiModal() ) |
|
|
|
return dlg; |
|
|
|
|
|
|
|
if( dlg && dlg->IsQuasiModal() ) |
|
|
|
return dlg; |
|
|
|
if( wxWindow* nestedDlg = findQuasiModalDialog( child ) ) |
|
|
|
return nestedDlg; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return nullptr; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
wxWindow* EDA_BASE_FRAME::findQuasiModalDialog() |
|
|
|
{ |
|
|
|
if( wxWindow* dlg = ::findQuasiModalDialog( this ) ) |
|
|
|
return dlg; |
|
|
|
|
|
|
|
// FIXME: CvPcb is currently implemented on top of KIWAY_PLAYER rather than DIALOG_SHIM,
|
|
|
|
// so we have to look for it separately.
|
|
|
|
if( m_ident == FRAME_SCH ) |
|
|
|
|