# HG changeset patch # User Sadrul Habib Chowdhury # Date 1182035501 0 # Node ID 31685102ee9494eadcc9b552705af1fad7d7d243 # Parent 17f7d072d471191b20ce54de9031512902ebe8c2 Uninit dbus properly. diff -r 17f7d072d471 -r 31685102ee94 libpurple/dbus-server.c --- a/libpurple/dbus-server.c Sat Jun 16 22:35:25 2007 +0000 +++ b/libpurple/dbus-server.c Sat Jun 16 23:11:41 2007 +0000 @@ -797,8 +797,18 @@ void purple_dbus_uninit(void) { - /* Surely we must do SOME kind of uninitialization? */ + DBusError error; + if (!purple_dbus_connection) + return; + dbus_error_init(&error); + dbus_connection_unregister_object_path(purple_dbus_connection, DBUS_PATH_PURPLE); + dbus_bus_release_name(purple_dbus_connection, DBUS_SERVICE_PURPLE, &error); + dbus_error_free(&error); + dbus_connection_unref(purple_dbus_connection); + purple_dbus_connection = NULL; + purple_signals_disconnect_by_handle(purple_dbus_get_handle()); g_free(init_error); init_error = NULL; } +