]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/dialog_osx.cpp
Correct format specifiers used to show wxIPV4address.
[wxWidgets.git] / src / osx / dialog_osx.cpp
index e605e95f3fa511ead9e4b5e98bfefe4a4191b3af..b1b50b980a5bb5c2b3effcbb42d484bf160b6f32 100644 (file)
 
 #include "wx/osx/private.h"
 
-// Lists to keep track of windows, so we can disable/enable them
-// for modal dialogs
+static int s_openDialogs = 0;
+bool wxDialog::OSXHasModalDialogsOpen()
+{
+    return s_openDialogs > 0;
+}
+
+void wxDialog::OSXBeginModalDialog()
+{
+    s_openDialogs++;
+}
+
+void wxDialog::OSXEndModalDialog()
+{
+    wxASSERT_MSG( s_openDialogs > 0, "incorrect internal modal dialog count");
+    s_openDialogs--;
+}
 
-wxList wxModalDialogs;
 
 IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow)
 
@@ -130,7 +143,9 @@ int wxDialog::ShowModal()
     wxModalEventLoop modalLoop(this);
     m_eventLoop = &modalLoop;
     
+    wxDialog::OSXBeginModalDialog();
     modalLoop.Run();
+    wxDialog::OSXEndModalDialog();
     
     m_eventLoop = NULL;