diff options
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | glib/dbus-gmain.c | 6 | 
2 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,9 @@ +2005-04-13  Havoc Pennington  <hp@redhat.com> + +	* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one +	message at a time to avoid monopolizing the main loop, bug  +	#2953 from Benjamin Otte +  2005-04-09  Havoc Pennington  <hp@redhat.com>  	* dbus/dbus-string.c (copy): change a memcpy to memmove due to diff --git a/glib/dbus-gmain.c b/glib/dbus-gmain.c index 57be8490..1843f224 100644 --- a/glib/dbus-gmain.c +++ b/glib/dbus-gmain.c @@ -103,9 +103,9 @@ message_queue_dispatch (GSource     *source,    DBusConnection *connection = ((DBusGMessageQueue *)source)->connection;    dbus_connection_ref (connection); -   -  while (dbus_connection_dispatch (connection) == DBUS_DISPATCH_DATA_REMAINS) -    ; + +  /* Only dispatch once - we don't want to starve other GSource */ +  dbus_connection_dispatch (connection);    dbus_connection_unref (connection);  | 
