if ( GetParent() == NULL )
{
windowGroup = GetWindowGroup(windowRef) ;
- formerParentGroup = GetWindowGroupParent( windowGroup );
- SetWindowGroupParent( windowGroup, GetWindowGroupOfClass( kMovableModalWindowClass ) );
- resetGroupParent = true;
+ if ( windowGroup != GetWindowGroupOfClass( kMovableModalWindowClass ) )
+ {
+ formerParentGroup = GetWindowGroupParent( windowGroup );
+ SetWindowGroupParent( windowGroup, GetWindowGroupOfClass( kMovableModalWindowClass ) );
+ resetGroupParent = true;
+ }
}
BeginAppModalStateForWindow(windowRef) ;
- wxEventLoop * const
- loop = static_cast<wxEventLoop *>(wxEventLoop::GetActive());
-
-
- wxASSERT_MSG( loop , wxT("No Event Loop in place") );
-
- if ( loop )
- {
- while ( IsModal() )
- loop->Dispatch();
- }
+ wxEventLoopGuarantor ensureHasLoop;
+ wxEventLoopBase * const loop = wxEventLoop::GetActive();
+ while ( IsModal() )
+ loop->Dispatch();
EndAppModalStateForWindow(windowRef) ;
if ( resetGroupParent )