liboobs r219 - in trunk: . oobs
- From: carlosg svn gnome org
- To: svn-commits-list gnome org
- Subject: liboobs r219 - in trunk: . oobs
- Date: Sat, 16 Feb 2008 19:51:14 +0000 (GMT)
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 <carlosg gnome org>
* 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]