etrunko pushed a commit to branch master.
commit f6295c582884eaac91145b8e1f7dae2c528ecda7
Author: Eduardo Lima (Etrunko) <[email protected]>
Date: Thu Jun 27 17:24:46 2013 -0300
eldbus: Call dbus_bus_register() for TYPE_ADDRESS connections
From D-Bus documentation:
http://dbus.freedesktop.org/doc/api/html/group__DBusBus.html
dbus_bus_register():
If you open a bus connection with dbus_connection_open() or
dbus_connection_open_private() you will have to dbus_bus_register()
yourself, or make the appropriate registration method calls yourself.
Signed-off-by: Eduardo Lima (Etrunko) <[email protected]>
---
src/lib/eldbus/eldbus_core.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/lib/eldbus/eldbus_core.c b/src/lib/eldbus/eldbus_core.c
index a7af40f..f47d440 100644
--- a/src/lib/eldbus/eldbus_core.c
+++ b/src/lib/eldbus/eldbus_core.c
@@ -989,13 +989,22 @@ _connection_get(Eldbus_Connection_Type type, const char
*address)
else
conn->dbus_conn = dbus_bus_get_private(type - 1, &err);
- if (dbus_error_is_set(&err))
+ if (!conn->dbus_conn || dbus_error_is_set(&err))
{
free(conn);
ERR("Error connecting to bus: %s", err.message);
return NULL;
}
+ if (type == ELDBUS_CONNECTION_TYPE_ADDRESS &&
+ !dbus_bus_register(conn->dbus_conn, &err))
+ {
+ dbus_connection_close(conn->dbus_conn);
+ free(conn);
+ ERR("Error registering with bus: %s", err.message);
+ return NULL;
+ }
+
eldbus_connection_setup(conn);
conn->type = type;
conn->refcount = 1;
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev