SetFocus() ;
WindowRef windowRef = (WindowRef) GetWXWindow();
- WindowGroupRef windowGroup;
- WindowGroupRef formerParentGroup;
+ WindowGroupRef windowGroup = NULL;
+ WindowGroupRef formerParentGroup = NULL;
bool resetGroupParent = false;
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();
- }
+#if wxUSE_CONSOLE_EVENTLOOP
+ wxEventLoopGuarantor ensureHasLoop;
+#endif
+ wxEventLoopBase * const loop = wxEventLoop::GetActive();
+ while ( IsModal() )
+ loop->Dispatch();
EndAppModalStateForWindow(windowRef) ;
if ( resetGroupParent )
{
SetWindowGroupParent( windowGroup , formerParentGroup );
}
-}
\ No newline at end of file
+}