[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kde-workspace/KDE/4.9] powerdevil/daemon/backends/upower: Fix screenBrightnessChanged signal in upo
From:       Gregor_Tätzner <gregor () freenet ! de>
Date:       2012-11-21 19:58:17
Message-ID: 20121121195817.21614A6091 () git ! kde ! org
[Download RAW message or body]

Git commit 285553edce61f65a88d9067136bf138e44efb149 by Gregor Tätzner.
Committed on 21/11/2012 at 20:47.
Pushed by gregort into branch 'KDE/4.9'.

Fix screenBrightnessChanged signal in upower backend

emit onBrightnessChanged every time when a new brightness gets set and
not just on brightnessKey press

BUG: 302111, 302160
FIXED-IN: 4.9.4
REVIEW: 107398

M  +12   -8    powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp

http://commits.kde.org/kde-workspace/285553edce61f65a88d9067136bf138e44efb149

diff --git a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp \
b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp index \
                3d0926f..97a409b 100644
--- a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
+++ b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
@@ -170,13 +170,7 @@ void \
PowerDevilUPowerBackend::brightnessKeyPressed(PowerDevil::BackendInterface:  \
newBrightness = qMax(0.0f, currentBrightness - 10);  }
 
-        if (setBrightness(newBrightness, Screen)) {
-            newBrightness = brightness(Screen);
-            if (!qFuzzyCompare(newBrightness, m_cachedBrightness)) {
-                m_cachedBrightness = newBrightness;
-                onBrightnessChanged(Screen, m_cachedBrightness);
-            }
-        }
+        setBrightness(newBrightness, Screen);
     } else {
         m_cachedBrightness = currentBrightness;
     }
@@ -214,6 +208,7 @@ float \
PowerDevilUPowerBackend::brightness(PowerDevil::BackendInterface::Brightne  
 bool PowerDevilUPowerBackend::setBrightness(float brightnessValue, \
PowerDevil::BackendInterface::BrightnessControlType type)  {
+    bool success = false;
     if (type == Screen) {
         kDebug() << "set screen brightness: " << brightnessValue;
         if (m_brightnessControl->isSupported()) {
@@ -230,10 +225,19 @@ bool PowerDevilUPowerBackend::setBrightness(float \
brightnessValue, PowerDevil::B  }
         }
 
-        return true;
+        success = true;
     } else if (type == Keyboard) {
         kDebug() << "set kbd backlight: " << brightnessValue;
         m_kbdBacklight->SetBrightness(brightnessValue / 100 * \
m_kbdBacklight->GetMaxBrightness()); +        success = true;
+    }
+
+    if (success) {
+        float newBrightness = brightness(Screen);
+        if (!qFuzzyCompare(newBrightness, m_cachedBrightness)) {
+            m_cachedBrightness = newBrightness;
+            onBrightnessChanged(Screen, m_cachedBrightness);
+        }
         return true;
     }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic