[gnome-control-center] power: Only update ALS state if it has changed



commit ddfacc6b81bbcedec1f2d2e7339c41388d4b4bb8
Author: Pablo Correa Gómez <ablocorrea hotmail com>
Date:   Mon Mar 7 22:16:51 2022 +0100

    power: Only update ALS state if it has changed
    
    Ambient light sensors can be quite sensitive and the LightLevel
    property might be changing very often. That has two undesired
    consequences:
    * The `als_enabled_state_changed` callback gets constantly called
      due to a change in a property which it does not care about, as
      only `HasAmbientLight` is relevant. Therefore, limit the code
      execution to when something needs to be changed.
    * During debugging, the terminal gets spammed with "ALS enabled: on/off"
      messages.

 panels/power/cc-power-panel.c | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index 09735a922..0a988b5d4 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -347,6 +347,9 @@ als_enabled_state_changed (CcPowerPanel *self)
         visible = g_variant_get_boolean (v);
     }
 
+  if (gtk_widget_get_visible (GTK_WIDGET (self->als_row)) == visible)
+    return;
+
   enabled = g_settings_get_boolean (self->gsd_settings, "ambient-enabled");
   g_debug ("ALS enabled: %s", enabled ? "on" : "off");
   g_signal_handlers_block_by_func (self->als_switch, als_switch_changed_cb, self);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]