]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dialog.cpp
Disable wxUSE_ENH_METAFILE for wxGTK builds.
[wxWidgets.git] / src / gtk / dialog.cpp
index c7ae206ec3affadafe8bb4e144fc92e80276bf3a..5d397cfe2f70a7b528e15b650009663a07a65569 100644 (file)
 #include "wx/evtloop.h"
 
 #include "wx/scopedptr.h"
-#include "wx/testing.h"
+#include "wx/modalhook.h"
 
 #include <gtk/gtk.h>
 #include "wx/gtk/private/gtk2-compat.h"
-
-// this is defined in src/gtk/toplevel.cpp
-extern int wxOpenModalDialogsCount;
+#include "wx/gtk/private/dialogcount.h"
 
 wxDEFINE_TIED_SCOPED_PTR_TYPE(wxGUIEventLoop)
 
@@ -135,7 +133,7 @@ realize_hook(GSignalInvocationHint*, unsigned, const GValue* param_values, void*
 
 int wxDialog::ShowModal()
 {
-    WX_TESTING_SHOW_MODAL_HOOK();
+    WX_HOOK_MODAL_DIALOG();
 
     wxASSERT_MSG( !IsModal(), "ShowModal() can't be called twice" );
 
@@ -172,7 +170,7 @@ int wxDialog::ShowModal()
 
     m_modalShowing = true;
 
-    wxOpenModalDialogsCount++;
+    wxOpenModalDialogLocker modalLock;
 
     // NOTE: gtk_window_set_modal internally calls gtk_grab_add() !
     gtk_window_set_modal(GTK_WINDOW(m_widget), TRUE);
@@ -190,8 +188,6 @@ int wxDialog::ShowModal()
 
     gtk_window_set_modal(GTK_WINDOW(m_widget), FALSE);
 
-    wxOpenModalDialogsCount--;
-
     return GetReturnCode();
 }