From: Roman Moravcik Date: Sat, 3 Apr 2010 06:51:50 +0000 (+0200) Subject: Fixed deinitialization of DBus connection. X-Git-Tag: v0.4-1~9 X-Git-Url: https://vcs.maemo.org/git/?a=commitdiff_plain;h=ecc2ea19d4b6dbb646532bbf53b5460262714074;p=flashlight-appl Fixed deinitialization of DBus connection. --- diff --git a/src/flashlight_applet.c b/src/flashlight_applet.c index cb9280a..c907c1c 100644 --- a/src/flashlight_applet.c +++ b/src/flashlight_applet.c @@ -51,6 +51,7 @@ struct _FlashlightPluginPrivate guint status_timer; FlashlightContext_t *flashlight; + DBusConnection *dbus_connection; LibHalContext *hal; }; @@ -260,7 +261,7 @@ flashlight_status_plugin_init (FlashlightPlugin *plugin) /* initialize dbus */ dbus_error_init (&error); - dbus_connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error); + priv->dbus_connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error); if (dbus_error_is_set (&error)) { g_critical ("flashlight_status_plugin_init: Could not get the system DBus connection, %s", error.message); @@ -281,7 +282,7 @@ flashlight_status_plugin_init (FlashlightPlugin *plugin) return; } - libhal_ctx_set_dbus_connection (priv->hal, dbus_connection); + libhal_ctx_set_dbus_connection (priv->hal, priv->dbus_connection); libhal_ctx_set_user_data (priv->hal, plugin); libhal_ctx_set_device_property_modified (priv->hal, flashlight_status_plugin_on_hal_property_modified); @@ -330,6 +331,12 @@ flashlight_status_plugin_finalize (GObject *object) } priv->hal = NULL; + /* unreference dbus connection */ + if (priv->dbus_connection) { + dbus_connection_unref (priv->dbus_connection); + } + priv->dbus_connection = NULL; + /* cancel status timer */ if (priv->status_timer) { g_source_remove (priv->status_timer);