From 205c6788d7a34704e36b23f1a93d89e9b986266a Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Mon, 16 Oct 2006 23:48:09 +0300 Subject: [PATCH] config/dbus: properly initialise vtable Properly initialise the vtable, so we don't end up with an unregister_function pointing to god knows where. --- config/config.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/config/config.c b/config/config.c index a50302f2f..4d12a0758 100644 --- a/config/config.c +++ b/config/config.c @@ -251,7 +251,7 @@ configInitialise() { DBusConnection *bus = NULL; DBusError error; - DBusObjectPathVTable vtable; + DBusObjectPathVTable vtable = { .message_function = configMessage }; configConnection = NULL; @@ -294,7 +294,6 @@ configInitialise() return; } - vtable.message_function = configMessage; snprintf(busobject, sizeof(busobject), "/org/x/config/%d", atoi(display)); if (!dbus_connection_register_object_path(bus, busobject, &vtable, bus)) { configfd = -1; @@ -319,10 +318,7 @@ configFini() if (configConnection) { dbus_error_init(&error); - /* This causes a segfault inside libdbus. Sigh. */ -#if 0 dbus_connection_unregister_object_path(configConnection, busobject); -#endif dbus_bus_remove_match(configConnection, MATCH_RULE, &error); dbus_bus_release_name(configConnection, busname, &error); dbus_connection_unref(configConnection);