summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2007-07-12 00:01:22 +0100
committerRichard Hughes <richard@hughsie.com>2007-07-12 00:01:22 +0100
commit37f24efb81ef8618c9baaa26a4396b185b57ef3a (patch)
tree810e19d5a8130c23423c26f26f4b4de3c762a218
parente24d7ff698275e7bd5c416da465c9e7745a89a13 (diff)
work around a bug in idletime where the idlecounter is being reset on dpms action
-rw-r--r--plugins/policy/display/ohm-plugin-display.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/policy/display/ohm-plugin-display.c b/plugins/policy/display/ohm-plugin-display.c
index e4b1a84..25dbc2d 100644
--- a/plugins/policy/display/ohm-plugin-display.c
+++ b/plugins/policy/display/ohm-plugin-display.c
@@ -24,6 +24,7 @@
enum {
CONF_AC_STATE_CHANGED,
+ CONF_BACKLIGHT_STATE_CHANGED,
CONF_LID_STATE_CHANGED,
CONF_TABLET_STATE_CHANGED,
CONF_BRIGHTNESS_AC_CHANGED,
@@ -67,6 +68,7 @@ plugin_coldplug (OhmPlugin *plugin)
{
/* interested keys */
ohm_plugin_conf_interested (plugin, "acadapter.state", CONF_AC_STATE_CHANGED);
+ ohm_plugin_conf_interested (plugin, "backlight.state", CONF_BACKLIGHT_STATE_CHANGED);
ohm_plugin_conf_interested (plugin, "button.lid", CONF_LID_STATE_CHANGED);
ohm_plugin_conf_interested (plugin, "button.tablet", CONF_TABLET_STATE_CHANGED);
ohm_plugin_conf_interested (plugin, "idle.powersave", CONF_IDLE_POWERSAVE_CHANGED);
@@ -102,6 +104,13 @@ brightness_momentary (OhmPlugin *plugin, gboolean is_idle)
{
gint lidshut;
gint value;
+ gint state;
+
+ ohm_plugin_conf_get_key (plugin, "backlight.state", &state);
+ if (state == 0) {
+ /* work round a idletime bugs */
+ return;
+ }
/* if lid shut */
ohm_plugin_conf_get_key (plugin, "button.lid", &lidshut);
@@ -126,6 +135,13 @@ static void
backlight_powersave (OhmPlugin *plugin, gboolean is_idle)
{
gint lidshut;
+ gint state;
+
+ ohm_plugin_conf_get_key (plugin, "backlight.state", &state);
+ if (state == 0) {
+ /* work round a idletime bugs */
+ return;
+ }
/* if lid shut */
ohm_plugin_conf_get_key (plugin, "button.lid", &lidshut);
@@ -188,6 +204,7 @@ plugin_conf_notify (OhmPlugin *plugin, gint id, gint value)
}
break;
case CONF_AC_STATE_CHANGED:
+ case CONF_BACKLIGHT_STATE_CHANGED:
reset_brightness (plugin);
break;
case CONF_IDLE_MOMENTARY_CHANGED: