[daemon-fix] fixed querying about name information
[platform/upstream/dbus.git] / dbus / dbus-server.c
index a607605..ba993d1 100644 (file)
@@ -183,11 +183,24 @@ _dbus_server_init_base (DBusServer             *server,
   return FALSE;
 }
 
+#ifdef ENABLE_KDBUS_TRANSPORT
+static void mini_vtable_dummy_func(DBusServer *server)
+{
+    // Used to prevent assert errors. Pointer to function is passed to
+    // DBusServerVTable which is passed to server->vtable in
+    // dbus_server_init_mini function.
+}
+
 DBusServer*
 dbus_server_init_mini (char* address)
 {
        DBusServer *server;
 
+    static const DBusServerVTable dbus_server_init_mini_vtable = {
+        mini_vtable_dummy_func,
+        mini_vtable_dummy_func
+    };
+
        server = dbus_new0(struct DBusServer, 1);
        if(server == NULL)
                return NULL;
@@ -198,12 +211,25 @@ dbus_server_init_mini (char* address)
            goto failed;
        server->address = address;
 
+    server->vtable = &dbus_server_init_mini_vtable;
+
+    _dbus_atomic_inc (&server->refcount);
+
+    server->watches = _dbus_watch_list_new ();
+    if (server->watches == NULL)
+        goto failed;
+
+    server->timeouts = _dbus_timeout_list_new();
+    if (server->timeouts == NULL)
+        goto failed;
+
        return server;
 
 failed:
        dbus_free(server);
        return NULL;
 }
+#endif
 
 
 /**