e_dbus/bluez: fix e_bluez shutdown
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 22 Feb 2010 21:02:55 +0000 (21:02 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 22 Feb 2010 21:02:55 +0000 (21:02 +0000)
By: Gustavo F. Padovan <padovan@profusion.mobi>

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@46365 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/bluez/e_bluez.c

index a703ad2..280686c 100644 (file)
@@ -334,5 +334,25 @@ e_bluez_system_shutdown(void)
        _stringshare_del(&e_bluez_prop_pairabletimeout);
        _stringshare_del(&e_bluez_prop_discovering);
        _stringshare_del(&e_bluez_prop_devices);
-       return 0;
+
+       if (pending_get_name_owner)
+       {
+               dbus_pending_call_cancel(pending_get_name_owner);
+               pending_get_name_owner = NULL;
+       }
+
+       if (cb_name_owner_changed)
+       {
+               e_dbus_signal_handler_del(e_bluez_conn, cb_name_owner_changed);
+               cb_name_owner_changed = NULL;
+       }
+
+       if (unique_name)
+               _e_bluez_system_name_owner_exit();
+
+       e_bluez_elements_shutdown();
+       eina_log_domain_unregister(_e_dbus_bluez_log_dom);
+       e_bluez_conn = NULL;
+
+       return init_count;
 }