diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-03-14 22:12:51 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-03-14 22:12:51 +0000 |
commit | 94694c8dc27c8bab67312d253a5ec0e0a925a430 (patch) | |
tree | b02a31c67cc10db221d0fc45a46841523c3f1af4 /gdk | |
parent | 2480ef52fb81368c9ee3ee95796aad9b466e5e0b (diff) | |
download | gtk+-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.c | 3 |
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; } |