if ( !wxTopLevelWindow::Create(parent, id, title, pos, size, style, name) )
return FALSE;
- MacCreateRealWindow( title , pos , size , MacRemoveBordersFromStyle(style) , name ) ;
+ MacCreateRealWindow( title , pos , size , MacRemoveBordersFromStyle(style) & ~(wxYES|wxOK|wxNO|wxCANCEL) , name ) ;
m_macWindowBackgroundTheme = kThemeBrushDialogBackgroundActive ;
SetThemeWindowBackground( (WindowRef) m_macWindow , m_macWindowBackgroundTheme , false ) ;
m_windowStyle |= wxDIALOG_MODAL;
wxModelessWindows.DeleteObject(this);
+#if TARGET_CARBON
+ SetWindowModality( (WindowRef) MacGetWindowRef() , kWindowModalityAppModal , NULL ) ;
+#endif
}
else
{
wxDialog::~wxDialog()
{
- m_isBeingDeleted = TRUE ;
+ m_isBeingDeleted = TRUE;
Show(FALSE);
}
wxModalDialogs.Append(this);
- wxWindow *parent = GetParent();
+ wxWindow *parent = GetParent();
- // remember where the focus was
- wxWindow *winFocus = FindFocus();
- if ( !winFocus )
- {
- winFocus = parent;
- }
- if ( !winFocus )
- {
- winFocus = wxTheApp->GetTopWindow();
- }
#if TARGET_CARBON
BeginAppModalStateForWindow( (WindowRef) MacGetWindowRef()) ;
#else
// TODO probably reenable the parent window if any
s_macIsInModalLoop = formerModal ;
#endif
-
-
- // and restore focus
- if ( winFocus )
- {
- winFocus->SetFocus();
- }
}