diff src/gtkconv.c @ 13434:ffd724befbf8

[gaim-migrate @ 15809] Cleanup the busy cursor handling code to eliminate a bunch of these loops: while (gtk_events_pending()) gtk_main_iteration(); They seem like a race condition waiting to happen. This code is also simpler, and more generic. This leaves only one such loop, in src/gtkblist.c's gaim_gtk_blist_expand_contact_cb(). committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 07 Mar 2006 05:48:54 +0000
parents d52b9874c0de
children 96a6285b9879
line wrap: on
line diff
--- a/src/gtkconv.c	Tue Mar 07 05:09:51 2006 +0000
+++ b/src/gtkconv.c	Tue Mar 07 05:48:54 2006 +0000
@@ -1002,13 +1002,16 @@
 		return;
 
 	gtkblist = gaim_gtk_blist_get_default_gtk_blist();
+
 	cursor = gdk_cursor_new(GDK_WATCH);
-
 	gdk_window_set_cursor(gtkblist->window->window, cursor);
 	gdk_window_set_cursor(win->window->window, cursor);
 	gdk_cursor_unref(cursor);
-	while (gtk_events_pending())
-		gtk_main_iteration();
+#if GTK_CHECK_VERSION(2,4,0)
+	gdk_display_flush(gdk_drawable_get_display(GDK_DRAWABLE(widget->window)));
+#else
+	gdk_flush();
+#endif
 
 	name = gaim_conversation_get_name(conv);
 	account = gaim_conversation_get_account(conv);