summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-03-14 22:12:51 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-03-14 22:12:51 +0000
commit94694c8dc27c8bab67312d253a5ec0e0a925a430 (patch)
treeb02a31c67cc10db221d0fc45a46841523c3f1af4 /gdk
parent2480ef52fb81368c9ee3ee95796aad9b466e5e0b (diff)
downloadgtk+-94694c8dc27c8bab67312d253a5ec0e0a925a430.tar.gz
Fix rather improbable reentrancy problem if a window is destroyed while
Thu Mar 14 17:09:52 2002 Owen Taylor <otaylor@redhat.com> * gdk/gdkwindow.c (gdk_window_process_all_updates): Fix rather improbable reentrancy problem if a window is destroyed while updates are being processed on another window. (Noticed by Michael Meeks, #74708)
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdkwindow.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 8199e09bf6..187c3a2891 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2139,9 +2139,12 @@ gdk_window_process_all_updates (void)
update_windows = NULL;
update_idle = 0;
+ g_slist_foreach (old_update_windows, (GFunc)g_object_ref, NULL);
+
while (tmp_list)
{
gdk_window_process_updates_internal (tmp_list->data);
+ g_object_unref (tmp_list->data);
tmp_list = tmp_list->next;
}