]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dialog.cpp
some != NULL checks
[wxWidgets.git] / src / gtk / dialog.cpp
index fbc1793ea980c1300ac7bed65564476717d7ff9c..55d5e955114854e6c749e4eba331c7dbd45a7faa 100644 (file)
@@ -59,7 +59,8 @@ bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED
     if (g_isIdle)
         wxapp_install_idle_handler();
 
-    win->Close();
+    if (win->IsEnabled())
+        win->Close();
 
     return TRUE;
 }
@@ -266,8 +267,6 @@ bool wxDialog::Create( wxWindow *parent,
                        const wxPoint &pos, const wxSize &size,
                        long style, const wxString &name )
 {
-    g_openDialogs++;
-
     wxTopLevelWindows.Append( this );
 
     m_needParent = FALSE;
@@ -344,8 +343,6 @@ wxDialog::~wxDialog()
     {
         wxTheApp->ExitMainLoop();
     }
-    
-    g_openDialogs--;
 }
 
 void wxDialog::SetTitle( const wxString& title )
@@ -630,10 +627,14 @@ int wxDialog::ShowModal()
 
     m_modalShowing = TRUE;
 
+    g_openDialogs++;
+
     gtk_grab_add( m_widget );
     gtk_main();
     gtk_grab_remove( m_widget );
 
+    g_openDialogs--;
+
     return GetReturnCode();
 }