2005-11-10 [wwp] 1.9.100cvs6
[claws.git] / src / gtk / description_window.c
index 2a3e3490ac53801003f10606b93b923980815dc9..94dfd680950df8452ab23981245318f1de1b1091 100644 (file)
@@ -48,12 +48,20 @@ void description_window_create(DescriptionWindow *dwindow)
                description_create(dwindow);
        
                gtk_window_set_transient_for(GTK_WINDOW(dwindow->window), GTK_WINDOW(dwindow->parent));
-       
+
                gtk_widget_show(dwindow->window);
+
+               /* in case the description window is closed using the WM's [X] button */
+               g_signal_connect(G_OBJECT(dwindow->window), "destroy",
+                               GTK_SIGNAL_FUNC(gtk_widget_destroyed), &dwindow->window);
+
                gtk_main();
-               gtk_widget_hide(dwindow->window);
-               gtk_widget_destroy(dwindow->window);
-               dwindow->window = NULL; 
+
+               if (dwindow->window) {
+                       gtk_widget_hide(dwindow->window);
+                       gtk_widget_destroy(dwindow->window);
+                       dwindow->window = NULL; 
+               }
        } else printf("windows exist\n");
 }