diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 8 | ||||
-rw-r--r-- | tests/testgtk.c | 6 |
3 files changed, 17 insertions, 9 deletions
@@ -1,3 +1,15 @@ +2007-06-29 Ryan Lortie <desrt@desrt.ca> + + * tests/testgtk.c (create_composited_window): Connect the "destroy" + signal so that the 'window' pointer is set back to NULL (like for the + other examples). + + * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize): Don't + destroy the Damage here. By finalize() XDestroyWindow has already + been called (and took the Damage with it). + + Bug #452046. + 2007-06-29 Emmanuele Bassi <ebassi@gnome.org> * gtk/gtkrecentchooserdefault.c (recent_meta_data_func): Escape diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 068959689d..045e5a0374 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -197,14 +197,6 @@ gdk_window_impl_x11_finalize (GObject *object) _gdk_xgrab_check_destroy (GDK_WINDOW (wrapper)); -#if defined(HAVE_XCOMPOSITE) && defined(HAVE_XDAMAGE) && defined (HAVE_XFIXES) - if (window_impl->damage != None) - { - XDamageDestroy (GDK_WINDOW_XDISPLAY (object), window_impl->damage); - window_impl->damage = None; - } -#endif - if (!GDK_WINDOW_DESTROYED (wrapper)) { GdkDisplay *display = GDK_WINDOW_DISPLAY (wrapper); diff --git a/tests/testgtk.c b/tests/testgtk.c index be779a8791..079bb14f91 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -514,6 +514,10 @@ create_composited_window (GtkWidget *widget) event = gtk_event_box_new (); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + g_signal_connect (window, "destroy", + G_CALLBACK (gtk_widget_destroyed), + &window); + /* put a red background on the window */ gdk_color_parse ("red", &red); gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &red); @@ -1261,7 +1265,7 @@ create_button_box (GtkWidget *widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - + gtk_container_set_border_width (GTK_CONTAINER (window), 10); main_vbox = gtk_vbox_new (FALSE, 0); |