[Xfce4-commits] <xfce4-power-manager:master> Just process new charge state.
Ali Abdallah
noreply at xfce.org
Tue Feb 15 10:04:04 CET 2011
Updating branch refs/heads/master
to 0f99e9e7b82c2439438cec01ff0dbf0e45b21b83 (commit)
from 629d610ba09c84a6ab1e4fc0652d0344bed44394 (commit)
commit 0f99e9e7b82c2439438cec01ff0dbf0e45b21b83
Author: Ali Abdallah <aliov at xfce.org>
Date: Mon Feb 14 14:24:34 2011 +0100
Just process new charge state.
src/xfpm-power.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/xfpm-power.c b/src/xfpm-power.c
index 6c5d80f..b0bf5c9 100644
--- a/src/xfpm-power.c
+++ b/src/xfpm-power.c
@@ -79,6 +79,8 @@ struct XfpmPowerPrivate
XfpmXfconf *conf;
GtkStatusIcon *adapter_icon;
+ XfpmBatterState overall_state;
+
gboolean inhibited;
XfpmNotify *notify;
@@ -783,7 +785,7 @@ xfpm_power_process_critical_action (XfpmPower *power, XfpmShutdownRequest req)
}
static void
-xfpm_power_system_on_low_power (XfpmPower *power, XfpmBattery *battery)
+xfpm_power_system_on_critical_power (XfpmPower *power, XfpmBattery *battery)
{
XfpmShutdownRequest critical_action;
@@ -816,9 +818,15 @@ xfpm_power_battery_charge_changed_cb (XfpmBattery *battery, XfpmPower *power)
XFPM_DEBUG_ENUM (current_charge, XFPM_TYPE_BATTERY_CHARGE, "Current system charge status");
+ if (current_charge == power->priv->overall_state)
+ return;
+
+ power->priv->overall_state = current_state;
+
if ( current_charge == XFPM_BATTERY_CHARGE_CRITICAL && power->priv->on_battery)
{
- xfpm_power_system_on_low_power (power, battery);
+ xfpm_power_system_on_critical_power (power, battery);
+
power->priv->on_low_battery = TRUE;
g_signal_emit (G_OBJECT (power), signals [LOW_BATTERY_CHANGED], 0, power->priv->on_low_battery);
return;
@@ -1220,6 +1228,7 @@ xfpm_power_init (XfpmPower *power)
power->priv->auth_suspend = TRUE;
power->priv->dialog = NULL;
power->priv->adapter_icon = NULL;
+ power->priv->overall_state = XFPM_BATTERY_CHARGE_OK;
power->priv->inhibit = xfpm_inhibit_new ();
power->priv->notify = xfpm_notify_new ();
More information about the Xfce4-commits
mailing list