summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1999-09-03 20:08:13 +0000
committerOwen Taylor <otaylor@src.gnome.org>1999-09-03 20:08:13 +0000
commit22a15408bb997b4adef2bda4e26fad83c651c35f (patch)
tree86d9cdd9b2e4a34b58b36d469d7e85e9f5d09583 /gdk
parent3abc63415202fb857b06432a920343b700e67747 (diff)
downloadgdk-pixbuf-22a15408bb997b4adef2bda4e26fad83c651c35f.tar.gz
When we receive an unexpected destroy notify on one of our windows, don't
Thu Sep 2 16:33:59 1999 Owen Taylor <otaylor@redhat.com> * gdk/gdkwindow.c: When we receive an unexpected destroy notify on one of our windows, don't just warn about it, also mark our windows as destroyed. * gtk/gtkmain.c: Ignore unexpected destroy notifies for children, for toplevel windows handle them like delete_event. * gtk/gtkplug.c: Add an unrealize handler so that we unref plug->socket_window when we are done with it.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdkwindow.c6
-rw-r--r--gdk/x11/gdkwindow-x11.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 7c7680925..47b200c3e 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -699,10 +699,10 @@ gdk_window_destroy_notify (GdkWindow *window)
if (!private->destroyed)
{
- if (private->window_type == GDK_WINDOW_FOREIGN)
- gdk_window_internal_destroy (window, FALSE, FALSE);
- else
+ if (private->window_type != GDK_WINDOW_FOREIGN)
g_warning ("GdkWindow %#lx unexpectedly destroyed", private->xwindow);
+
+ gdk_window_internal_destroy (window, FALSE, FALSE);
}
gdk_xid_table_remove (private->xwindow);
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 7c7680925..47b200c3e 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -699,10 +699,10 @@ gdk_window_destroy_notify (GdkWindow *window)
if (!private->destroyed)
{
- if (private->window_type == GDK_WINDOW_FOREIGN)
- gdk_window_internal_destroy (window, FALSE, FALSE);
- else
+ if (private->window_type != GDK_WINDOW_FOREIGN)
g_warning ("GdkWindow %#lx unexpectedly destroyed", private->xwindow);
+
+ gdk_window_internal_destroy (window, FALSE, FALSE);
}
gdk_xid_table_remove (private->xwindow);