]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/dialog_osx.cpp
adding hook, but unfortunately no solution yet for wxComboBox::SetEditable
[wxWidgets.git] / src / osx / dialog_osx.cpp
index 835afaaa240b78332980de261ad2b97915a12ab1..cb127f323b817f660d9d931039af2a7853fe3476 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "wx/dialog.h"
 #include "wx/evtloop.h"
+#include "wx/modalhook.h"
 
 #ifndef WX_PRECOMP
     #include "wx/app.h"
@@ -115,7 +116,12 @@ bool wxDialog::Show(bool show)
 
     if ( !show )
     {
-        switch( m_modality )
+        const int modalityOrig = m_modality;
+
+        // complete the 'hiding' before we send the event
+        m_modality = wxDIALOG_MODALITY_NONE;
+
+        switch ( modalityOrig )
         {
             case wxDIALOG_MODALITY_WINDOW_MODAL:
                 EndWindowModal(); // OS X implementation method for cleanup
@@ -124,7 +130,6 @@ bool wxDialog::Show(bool show)
             default:
                 break;
         }
-        m_modality = wxDIALOG_MODALITY_NONE;
     }
 
     return true;
@@ -133,6 +138,8 @@ bool wxDialog::Show(bool show)
 // Replacement for Show(true) for modal dialogs - returns return code
 int wxDialog::ShowModal()
 {
+    WX_HOOK_MODAL_DIALOG();
+
     m_modality = wxDIALOG_MODALITY_APP_MODAL;
 
     Show();