]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/dialog.cpp
Performance optimization
[wxWidgets.git] / src / mac / carbon / dialog.cpp
index aa23b77e34ad35b2804bc961d1f2d01a49916797..bb90e3812be7a6cb83f3cdfd81eca38da74de30b 100644 (file)
@@ -64,9 +64,7 @@ void wxDialog::SetModal( bool flag )
 
         wxModelessWindows.DeleteObject( this );
 
-#if TARGET_CARBON
         SetWindowModality( (WindowRef)MacGetWindowRef(), kWindowModalityAppModal, NULL ) ;
-#endif
     }
     else
     {
@@ -79,6 +77,8 @@ void wxDialog::SetModal( bool flag )
 wxDialog::~wxDialog()
 {
     m_isBeingDeleted = true;
+
+    // if the dialog is modal, this will end its event loop
     Show(false);
 }
 
@@ -105,6 +105,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 +131,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") );