summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--gdk/x11/gdkwindow-x11.c8
-rw-r--r--tests/testgtk.c6
3 files changed, 17 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 71c4708705..fda592a9cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);