[daemon-fix] fixed working when compiled with kdbus but sockets used as a transport
authorRadoslaw Pajak <r.pajak@samsung.com>
Fri, 8 Nov 2013 11:03:58 +0000 (12:03 +0100)
committerRadoslaw Pajak <r.pajak@samsung.com>
Fri, 8 Nov 2013 11:03:58 +0000 (12:03 +0100)
Change-Id: I3a201142689672228ab845e6b4f310132e43c201
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
bus/services.c

index 20ebb5f..d3b7554 100644 (file)
@@ -1505,9 +1505,16 @@ bus_service_get_primary_owners_connection (BusService *service)
   owner = bus_service_get_primary_owner (service);
 
 #ifdef ENABLE_KDBUS_TRANSPORT
-  if(kdbus_get_name_owner(owner->conn, bus_service_get_name(service), unique_name) < 0)
+  if(!owner)
     return NULL;
-  return _bus_service_find_owner_connection(service, unique_name);  //bus_connections_find_conn_by_name would be safer? but slower
+  if(bus_context_is_kdbus(service->registry->context))
+  {
+    if(kdbus_get_name_owner(owner->conn, bus_service_get_name(service), unique_name) < 0)
+      return NULL;
+    return _bus_service_find_owner_connection(service, unique_name);  //bus_connections_find_conn_by_name would be safer? but slower
+  }
+  else
+    return owner->conn;
 #else
   if (owner != NULL)
     return owner->conn;