summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2007-06-29 16:02:24 +0000
committerRyan Lortie <ryanl@src.gnome.org>2007-06-29 16:02:24 +0000
commite8e5af2d8cf5327bed9601572978478954580977 (patch)
tree7c97b63265b30132db87c1bfafa6cee30c1be85f
parent41aaca420dfe37a2513c3c340e743d5d1d7c6a04 (diff)
downloadgtk+-e8e5af2d8cf5327bed9601572978478954580977.tar.gz
Connect the "destroy" signal so that the 'window' pointer is set back to
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. svn path=/trunk/; revision=18290
-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);