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

Lukas Tinkl ltinkl at fedoraproject.org
Mon Dec 12 20:04:06 UTC 2011


commit 532963568ae20d1644ced9f07341f12799e422fc
Author: Lukas Tinkl <lukas at kde.org>
Date:   Mon Dec 12 21:03:59 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-4.7.5-dataengine-source-removed.patch |   33 ++++++++++++++
 kdelibs.spec                                  |    4 +-
 3 files changed, 35 insertions(+), 59 deletions(-)
---
diff --git a/kdelibs-4.7.5-dataengine-source-removed.patch b/kdelibs-4.7.5-dataengine-source-removed.patch
new file mode 100644
index 0000000..0579847
--- /dev/null
+++ b/kdelibs-4.7.5-dataengine-source-removed.patch
@@ -0,0 +1,33 @@
+commit a8b49bc65afb1d05e7de0148c3116f2f6a1f98de
+Author: Aaron Seigo <aseigo at kde.org>
+Date:   Wed Nov 30 09:17:01 2011 +0100
+
+    grab the source name before removing the iterator
+    
+    the previous fix, which i accidentally reverted while cleaning up this code,
+    was actually wrong (so in a way i'm glad i caught it): the signal MUST be emitted
+    AFTER the item is removed from the collection otherwise any code that checks to
+    see if that source exists will see that it does still exist even though it was
+    just signaled as being removed. order sometimes really matters :)
+    
+    CCMAIL:kde at rusu.info
+    BUG:287795
+
+diff --git a/plasma/dataengine.cpp b/plasma/dataengine.cpp
+index 718dfba..364b15e 100644
+--- a/plasma/dataengine.cpp
++++ b/plasma/dataengine.cpp
+@@ -331,10 +331,11 @@ void DataEngine::removeAllSources()
+     while (it.hasNext()) {
+         it.next();
+         Plasma::DataContainer *s = it.value();
++        const QString &source = it.key();
++        it.remove();
+         s->disconnect(this);
+         s->deleteLater();
+-        emit sourceRemoved(it.key());
+-        it.remove();
++        emit sourceRemoved(source);
+     }
+ }
+ 
diff --git a/kdelibs.spec b/kdelibs.spec
index 745e967..db2a286 100644
--- a/kdelibs.spec
+++ b/kdelibs.spec
@@ -131,7 +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
+Patch100: kdelibs-4.7.5-dataengine-source-removed.patch
 
 ## security fix
 # Not Upstreamed? why not ? -- Rex
@@ -323,7 +323,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
 %endif
 
 # upstream patches
-%patch100 -p1 -b .batteryplasmoid
+%patch100 -p1 -b .dataengine-source-removed
 
 # upstreamable patches
 %patch50 -p1 -b .knewstuff2_gpg2


More information about the scm-commits mailing list