]> Pileus Git - ~andy/gtk/blobdiff - demos/gtk-demo/changedisplay.c
connect to the display's "closed" signal and free the cached scratch
[~andy/gtk] / demos / gtk-demo / changedisplay.c
index 8391fd31321b9148c34138a8e635f4f7c1f32e71..11500876c92d78a18acfa638791a48077bf8618e 100644 (file)
@@ -551,12 +551,12 @@ destroy_info (ChangeDisplayInfo *info)
   GSList *tmp_list;
 
   g_signal_handlers_disconnect_by_func (manager,
-                                       (gpointer) display_opened_cb,
+                                       display_opened_cb,
                                        info);
 
   for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
     g_signal_handlers_disconnect_by_func (tmp_list->data,
-                                         (gpointer) display_closed_cb,
+                                         display_closed_cb,
                                          info);
   
   g_slist_free (tmp_list);
@@ -577,7 +577,7 @@ destroy_cb (GtkObject          *object,
  * it. Otherwise, destroys it.
  */
 GtkWidget *
-do_changedisplay (void)
+do_changedisplay (GtkWidget *do_widget)
 {
   static ChangeDisplayInfo *info = NULL;
 
@@ -589,7 +589,7 @@ do_changedisplay (void)
       info = g_new0 (ChangeDisplayInfo, 1);
 
       info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
-                                           NULL, /* parent */
+                                           GTK_WINDOW (do_widget), 
                                            GTK_DIALOG_NO_SEPARATOR,
                                            GTK_STOCK_CLOSE,  GTK_RESPONSE_CLOSE,
                                            "Change",         GTK_RESPONSE_OK,