[Goodies-commits] r7205 - in xfce4-power-manager/trunk: . src
Ali Abdallah
aliov at xfce.org
Wed Apr 15 09:41:39 CEST 2009
Author: aliov
Date: 2009-04-15 07:41:39 +0000 (Wed, 15 Apr 2009)
New Revision: 7205
Modified:
xfce4-power-manager/trunk/ChangeLog
xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
Log:
Disconnect from all the signals when we reload hal brightness object
Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog 2009-04-14 18:33:22 UTC (rev 7204)
+++ xfce4-power-manager/trunk/ChangeLog 2009-04-15 07:41:39 UTC (rev 7205)
@@ -1,4 +1,7 @@
+2009-04-15 9:41 Ali aliov at xfce.org
+ * : Disconnect from all the signals when we reload hal brightness object
+
2009-04-14 19:19 Ali aliov at xfce.org
* : Add option to inhibit backlight sleep in the context menu+updates on the battery code
Modified: xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-brightness-hal.c 2009-04-14 18:33:22 UTC (rev 7204)
+++ xfce4-power-manager/trunk/src/xfpm-brightness-hal.c 2009-04-15 07:41:39 UTC (rev 7205)
@@ -73,6 +73,7 @@
gboolean on_battery;
+ gulong sig[6];
};
enum
@@ -426,7 +427,7 @@
xfpm_brightness_hal_setup (brg);
- if ( brg->priv->hw_found || brg->priv->max_level != 0 )
+ if ( brg->priv->hw_found && brg->priv->max_level != 0 )
{
brg->priv->idle = xfpm_idle_new ();
brg->priv->conf = xfpm_xfconf_new ();
@@ -434,23 +435,29 @@
brg->priv->adapter = xfpm_adapter_new ();
brg->priv->saver = xfpm_screen_saver_new ();
+ brg->priv->sig[0] =
g_signal_connect (brg->priv->saver, "screen-saver-inhibited",
G_CALLBACK(xfpm_brightness_hal_inhibit_changed_cb), brg);
brg->priv->on_battery = !xfpm_adapter_get_present (brg->priv->adapter);
+ brg->priv->sig[1] =
g_signal_connect (brg->priv->adapter, "adapter-changed",
G_CALLBACK(xfpm_brightness_hal_adapter_changed_cb), brg);
+ brg->priv->sig[2] =
g_signal_connect (brg->priv->button, "button-pressed",
G_CALLBACK(xfpm_brightness_hal_button_pressed_cb), brg);
+ brg->priv->sig[3] =
g_signal_connect (brg->priv->idle, "alarm-timeout",
G_CALLBACK(xfpm_brightness_hal_alarm_timeout_cb), brg);
-
+
+ brg->priv->sig[4] =
g_signal_connect (brg->priv->idle, "reset",
G_CALLBACK(xfpm_brightness_hal_reset_cb), brg);
-
+
+ brg->priv->sig[5] =
g_signal_connect (brg->priv->conf, "brightness-settings-changed",
G_CALLBACK(xfpm_brightness_hal_settings_changed_cb), brg);
@@ -469,6 +476,24 @@
brg = XFPM_BRIGHTNESS_HAL(object);
+ if ( g_signal_handler_is_connected (brg->priv->saver, brg->priv->sig[0]) )
+ g_signal_handler_disconnect (G_OBJECT (brg->priv->saver), brg->priv->sig[0]);
+
+ if ( g_signal_handler_is_connected (brg->priv->adapter, brg->priv->sig[1]) )
+ g_signal_handler_disconnect (G_OBJECT (brg->priv->adapter), brg->priv->sig[1]);
+
+ if ( g_signal_handler_is_connected (brg->priv->button, brg->priv->sig[2]) )
+ g_signal_handler_disconnect (G_OBJECT (brg->priv->button), brg->priv->sig[2]);
+
+ if ( g_signal_handler_is_connected (brg->priv->idle, brg->priv->sig[3]) )
+ g_signal_handler_disconnect (G_OBJECT (brg->priv->idle), brg->priv->sig[3]);
+
+ if ( g_signal_handler_is_connected (brg->priv->idle, brg->priv->sig[4]) )
+ g_signal_handler_disconnect (G_OBJECT (brg->priv->idle), brg->priv->sig[4]);
+
+ if ( g_signal_handler_is_connected (brg->priv->conf, brg->priv->sig[5]) )
+ g_signal_handler_disconnect (G_OBJECT (brg->priv->conf), brg->priv->sig[5]);
+
if ( brg->priv->proxy )
g_object_unref (brg->priv->proxy);
More information about the Goodies-commits
mailing list