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

Reply via email to