[kdelibs/f16] Resolves #753429 - battery plasmoid displays extremely incorrect information Resolves #766399 - KDE

Lukas Tinkl ltinkl at fedoraproject.org
Mon Dec 12 19:37:15 UTC 2011


commit df1ac53552b0d385507d7827674e47463a1e8900
Author: Lukas Tinkl <lukas at kde.org>
Date:   Mon Dec 12 20:37:07 2011 +0100

    Resolves #753429 - battery plasmoid displays extremely incorrect information
    Resolves #766399 - KDE battery monitor not working with new upower

 kdelibs-4.7.5-batteryplasmoid.patch |   57 +++++++++++++++++++++++++++++++++++
 kdelibs.spec                        |   10 +++++-
 2 files changed, 66 insertions(+), 1 deletions(-)
---
diff --git a/kdelibs-4.7.5-batteryplasmoid.patch b/kdelibs-4.7.5-batteryplasmoid.patch
new file mode 100644
index 0000000..fcaf0fa
--- /dev/null
+++ b/kdelibs-4.7.5-batteryplasmoid.patch
@@ -0,0 +1,57 @@
+commit 1b6f332c3c539a45f6ed5a85897ecf8a65fbb216
+Author: Lukas Tinkl <lukas at kde.org>
+Date:   Mon Dec 12 20:03:43 2011 +0100
+
+    disconnect the battery signals when it gets removed
+    
+    see https://bugzilla.redhat.com/show_bug.cgi?id=753429 and
+    https://bugzilla.redhat.com/show_bug.cgi?id=766399
+
+diff --git a/plasma/generic/dataengines/powermanagement/powermanagementengine.cpp b/plasma/generic/dataengines/powermanagement/powermanagementengine.cpp
+index a5344da..2bee9a7 100644
+--- a/plasma/generic/dataengines/powermanagement/powermanagementengine.cpp
++++ b/plasma/generic/dataengines/powermanagement/powermanagementengine.cpp
+@@ -105,8 +105,7 @@ QStringList PowermanagementEngine::sources() const
+ bool PowermanagementEngine::sourceRequestEvent(const QString &name)
+ {
+     if (name == "Battery") {
+-        const QList<Solid::Device> listBattery =
+-                        Solid::Device::listFromType(Solid::DeviceInterface::Battery, QString());
++        const QList<Solid::Device> listBattery = Solid::Device::listFromType(Solid::DeviceInterface::Battery);
+         m_batterySources.clear();
+ 
+         if (listBattery.isEmpty()) {
+@@ -160,7 +159,7 @@ bool PowermanagementEngine::sourceRequestEvent(const QString &name)
+     } else if (name == "AC Adapter") {
+         bool isPlugged = false;
+ 
+-        const QList<Solid::Device> list_ac = Solid::Device::listFromType(Solid::DeviceInterface::AcAdapter, QString());
++        const QList<Solid::Device> list_ac = Solid::Device::listFromType(Solid::DeviceInterface::AcAdapter);
+         foreach (Solid::Device device_ac, list_ac) {
+             Solid::AcAdapter* acadapter = device_ac.as<Solid::AcAdapter>();
+             isPlugged |= acadapter->isPlugged();
+@@ -232,6 +231,11 @@ void PowermanagementEngine::updateAcPlugState(bool newState)
+ void PowermanagementEngine::deviceRemoved(const QString& udi)
+ {
+     if (m_batterySources.contains(udi)) {
++        Solid::Device device(udi);
++        Solid::Battery* battery = device.as<Solid::Battery>();
++        if (battery)
++            battery->disconnect();
++
+         const QString source = m_batterySources[udi];
+         m_batterySources.remove(udi);
+         removeSource(source);
+diff --git a/plasma/generic/dataengines/powermanagement/powermanagementengine.h b/plasma/generic/dataengines/powermanagement/powermanagementengine.h
+index 4dcc0d9..96ffd45 100644
+--- a/plasma/generic/dataengines/powermanagement/powermanagementengine.h
++++ b/plasma/generic/dataengines/powermanagement/powermanagementengine.h
+@@ -63,7 +63,7 @@ private:
+ 
+     QStringList m_sources;
+ 
+-    QHash<QString, QString> m_batterySources;
++    QHash<QString, QString> m_batterySources;  // <udi, Battery0>
+ 
+ };
+ 
diff --git a/kdelibs.spec b/kdelibs.spec
index de429bd..745e967 100644
--- a/kdelibs.spec
+++ b/kdelibs.spec
@@ -23,7 +23,7 @@
 
 Summary: KDE Libraries
 Version: 4.7.4
-Release: 2%{?dist}
+Release: 3%{?dist}
 
 Name: kdelibs
 Epoch: 6
@@ -131,6 +131,7 @@ Patch52: kdelibs-4.7.4-SOLID_UPNP.patch
 Patch53: kdelibs-4.7.2-kjs-s390.patch
 
 ## upstream
+Patch100: kdelibs-4.7.5-batteryplasmoid.patch
 
 ## security fix
 # Not Upstreamed? why not ? -- Rex
@@ -321,6 +322,9 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
 %patch43 -p1 -b .libplasma-pk-0004
 %endif
 
+# upstream patches
+%patch100 -p1 -b .batteryplasmoid
+
 # upstreamable patches
 %patch50 -p1 -b .knewstuff2_gpg2
 %patch51 -p1 -b .uri_mimetypes
@@ -581,6 +585,10 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Mon Dec 12 2011 Lukas Tinkl <ltinkl at redhat.com> - 4.7.4-3
+- Resolves #753429 - battery plasmoid displays extremely incorrect information
+- Resolves #766399 - KDE battery monitor not working with new upower
+
 * Tue Dec 06 2011 Than Ngo <than at redhat.com> - 4.7.4-2
 - add s390/s390x support in kjs
 


More information about the scm-commits mailing list