]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/dialog.cpp
applied patch 1908782 wxAuiMDIChildFrame not removed from wxAuiMDIClientWindow
[wxWidgets.git] / src / mac / carbon / dialog.cpp
index aa23b77e34ad35b2804bc961d1f2d01a49916797..8743e10547df6dec7c4dde3ea3e333b79df154aa 100644 (file)
@@ -62,23 +62,19 @@ void wxDialog::SetModal( bool flag )
     {
         m_isModalStyle = true;
 
-        wxModelessWindows.DeleteObject( this );
-
-#if TARGET_CARBON
         SetWindowModality( (WindowRef)MacGetWindowRef(), kWindowModalityAppModal, NULL ) ;
-#endif
     }
     else
     {
         m_isModalStyle = false;
-
-        wxModelessWindows.Append( this );
     }
 }
 
 wxDialog::~wxDialog()
 {
     m_isBeingDeleted = true;
+
+    // if the dialog is modal, this will end its event loop
     Show(false);
 }
 
@@ -105,6 +101,9 @@ bool wxDialog::Show(bool show)
         // nothing to do
         return false;
 
+    if (show && CanDoLayoutAdaptation())
+        DoLayoutAdaptation();
+
     if ( show )
         // usually will result in TransferDataToWindow() being called
         InitDialog();
@@ -128,10 +127,6 @@ bool wxDialog::Show(bool show)
     return true;
 }
 
-#if !TARGET_CARBON
-extern bool s_macIsInModalLoop ;
-#endif
-
 void wxDialog::DoShowModal()
 {
     wxCHECK_RET( !IsModal(), wxT("DoShowModal() called twice") );