Added NameList method handling, small improvemnets and cleanups
[platform/upstream/dbus.git] / dbus / dbus-connection.c
index 946960f..d6a547e 100644 (file)
@@ -45,6 +45,7 @@
 #include "dbus-bus.h"
 #include "dbus-marshal-basic.h"
 #include "dbus-transport-kdbus.h"
+#include <stdlib.h>
 
 #ifdef DBUS_DISABLE_CHECKS
 #define TOOK_LOCK_CHECK(connection)
@@ -2058,6 +2059,23 @@ _dbus_connection_send_preallocated_unlocked_no_update (DBusConnection       *con
   _dbus_verbose ("Message %p serial is %u\n",
                  message, dbus_message_get_serial (message));
   
+  if(dbus_transport_is_kdbus(connection))
+  {
+         const char* name;
+         char* sender;
+
+         name = dbus_bus_get_unique_name(connection);
+         sender = malloc (strlen(name) + 4);
+         if(sender)
+         {
+                 strcpy(sender,":1.");
+                 strcpy(&sender[3], name);
+                 _dbus_verbose ("Message sender: %s\n", sender);
+                 dbus_message_set_sender(message, sender);
+                 free((void*)sender);
+         }
+  }
+
   dbus_message_lock (message);
 
   /* Now we need to run an iteration to hopefully just write the messages
@@ -2191,7 +2209,7 @@ _dbus_memory_pause_based_on_timeout (int timeout_milliseconds)
     _dbus_sleep_milliseconds (1000);
 }
 
-static DBusMessage *
+DBusMessage *
 generate_local_error_message (dbus_uint32_t serial, 
                               char *error_name, 
                               char *error_msg)