git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19013
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
return wxModalDialogs.Find((wxDialog *)this) != NULL; // const_cast
}
return wxModalDialogs.Find((wxDialog *)this) != NULL; // const_cast
}
-extern bool s_macIsInModalLoop ;
-
bool wxDialog::Show(bool show)
{
if ( !wxDialogBase::Show(show) )
bool wxDialog::Show(bool show)
{
if ( !wxDialogBase::Show(show) )
+#if !TARGET_CARBON
+extern bool s_macIsInModalLoop ;
+#endif
+
void wxDialog::DoShowModal()
{
wxCHECK_RET( !IsModalShowing(), _T("DoShowModal() called twice") );
void wxDialog::DoShowModal()
{
wxCHECK_RET( !IsModalShowing(), _T("DoShowModal() called twice") );
{
winFocus = wxTheApp->GetTopWindow();
}
{
winFocus = wxTheApp->GetTopWindow();
}
+#if TARGET_CARBON
+ BeginAppModalStateForWindow( (WindowRef) MacGetWindowRef()) ;
+#else
// TODO : test whether parent gets disabled
// TODO : test whether parent gets disabled
bool formerModal = s_macIsInModalLoop ;
s_macIsInModalLoop = true ;
bool formerModal = s_macIsInModalLoop ;
s_macIsInModalLoop = true ;
while ( IsModalShowing() )
{
while ( IsModalShowing() )
{
- while ( !wxTheApp->Pending() && wxTheApp->ProcessIdle() )
- {
- }
wxTheApp->MacDoOneEvent() ;
wxTheApp->MacDoOneEvent() ;
+ // calls process idle itself
+#if TARGET_CARBON
+ EndAppModalStateForWindow( (WindowRef) MacGetWindowRef() ) ;
+#else
+ // TODO probably reenable the parent window if any
s_macIsInModalLoop = formerModal ;
s_macIsInModalLoop = formerModal ;
- // TODO probably reenable the parent window if any
// and restore focus
if ( winFocus )
// and restore focus
if ( winFocus )
return wxModalDialogs.Find((wxDialog *)this) != NULL; // const_cast
}
return wxModalDialogs.Find((wxDialog *)this) != NULL; // const_cast
}
-extern bool s_macIsInModalLoop ;
-
bool wxDialog::Show(bool show)
{
if ( !wxDialogBase::Show(show) )
bool wxDialog::Show(bool show)
{
if ( !wxDialogBase::Show(show) )
+#if !TARGET_CARBON
+extern bool s_macIsInModalLoop ;
+#endif
+
void wxDialog::DoShowModal()
{
wxCHECK_RET( !IsModalShowing(), _T("DoShowModal() called twice") );
void wxDialog::DoShowModal()
{
wxCHECK_RET( !IsModalShowing(), _T("DoShowModal() called twice") );
{
winFocus = wxTheApp->GetTopWindow();
}
{
winFocus = wxTheApp->GetTopWindow();
}
+#if TARGET_CARBON
+ BeginAppModalStateForWindow( (WindowRef) MacGetWindowRef()) ;
+#else
// TODO : test whether parent gets disabled
// TODO : test whether parent gets disabled
bool formerModal = s_macIsInModalLoop ;
s_macIsInModalLoop = true ;
bool formerModal = s_macIsInModalLoop ;
s_macIsInModalLoop = true ;
while ( IsModalShowing() )
{
while ( IsModalShowing() )
{
- while ( !wxTheApp->Pending() && wxTheApp->ProcessIdle() )
- {
- }
wxTheApp->MacDoOneEvent() ;
wxTheApp->MacDoOneEvent() ;
+ // calls process idle itself
+#if TARGET_CARBON
+ EndAppModalStateForWindow( (WindowRef) MacGetWindowRef() ) ;
+#else
+ // TODO probably reenable the parent window if any
s_macIsInModalLoop = formerModal ;
s_macIsInModalLoop = formerModal ;
- // TODO probably reenable the parent window if any
// and restore focus
if ( winFocus )
// and restore focus
if ( winFocus )