Author: carlosg Date: Sat Feb 16 19:51:13 2008 New Revision: 219 URL: http://svn.gnome.org/viewvc/liboobs?rev=219&view=rev
Log: 2008-02-16 Carlos Garnacho <[EMAIL PROTECTED]> * oobs/oobs-object.c (object_changed_idle) (changed_signal_filter): Emit the ::changed signal in an idle function, so the callback doesn't block other incoming DBus signals. Modified: trunk/ChangeLog trunk/oobs/oobs-object.c Modified: trunk/oobs/oobs-object.c ============================================================================== --- trunk/oobs/oobs-object.c (original) +++ trunk/oobs/oobs-object.c Sat Feb 16 19:51:13 2008 @@ -210,6 +210,18 @@ return object; } +static gboolean +object_changed_idle (gpointer data) +{ + OobsObject *object; + + object = OOBS_OBJECT (data); + + g_signal_emit (object, object_signals [CHANGED], 0); + + return FALSE; +} + static DBusHandlerResult changed_signal_filter (DBusConnection *connection, DBusMessage *message, @@ -223,7 +235,7 @@ if (dbus_message_is_signal (message, priv->method, "changed") && dbus_message_has_path (message, priv->path)) - g_signal_emit (object, object_signals [CHANGED], 0); + g_idle_add (object_changed_idle, object); /* we want the rest of the objects of * the same type to get the signal too _______________________________________________ SVN-commits-list mailing list (read only) http://mail.gnome.org/mailman/listinfo/svn-commits-list Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want. Module maintainer? It is possible to set the reply-to to your development mailing list. Email [EMAIL PROTECTED] if interested.