Hello community,

here is the log from the commit of package libkscreen2 for openSUSE:Factory 
checked in at 2015-03-01 15:05:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libkscreen2 (Old)
 and      /work/SRC/openSUSE:Factory/.libkscreen2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkscreen2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libkscreen2/libkscreen2.changes  2015-01-30 
15:08:01.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libkscreen2.new/libkscreen2.changes     
2015-03-01 15:05:24.000000000 +0100
@@ -1,0 +2,10 @@
+Fri Feb 20 02:43:58 UTC 2015 - hrvoje.sen...@gmail.com
+
+- Update to 5.2.1:
+  * Bugfix release
+  * For more details please see:
+    https://www.kde.org/announcements/plasma-5.2.1.php
+- Drop 0001-Fix-crash-when-multiple-EDID-requests-for-the-same-o.patch,
+  merged upstream
+
+-------------------------------------------------------------------

Old:
----
  0001-Fix-crash-when-multiple-EDID-requests-for-the-same-o.patch
  libkscreen-5.2.0.tar.xz

New:
----
  libkscreen-5.2.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libkscreen2.spec ++++++
--- /var/tmp/diff_new_pack.GL8k9W/_old  2015-03-01 15:05:25.000000000 +0100
+++ /var/tmp/diff_new_pack.GL8k9W/_new  2015-03-01 15:05:25.000000000 +0100
@@ -19,7 +19,7 @@
 %define lname   libKF5Screen6
 %define plasma_version 5.0.0
 Name:           libkscreen2
-Version:        5.2.0
+Version:        5.2.1
 Release:        0
 BuildRequires:  cmake >= 2.8.12
 BuildRequires:  extra-cmake-modules >= 0.0.12
@@ -42,8 +42,6 @@
 Url:            http://www.kde.org
 Source:         libkscreen-%{version}.tar.xz
 Source1:        baselibs.conf
-# PATCH-FIX-UPSTREAM 
0001-Fix-crash-when-multiple-EDID-requests-for-the-same-o.patch
-Patch0:         0001-Fix-crash-when-multiple-EDID-requests-for-the-same-o.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -76,7 +74,6 @@
 
 %prep
 %setup -q -n libkscreen-%{version}
-%patch0 -p1
 
 %build
   %cmake_kf5 -d build

++++++ libkscreen-5.2.0.tar.xz -> libkscreen-5.2.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.2.0/CMakeLists.txt 
new/libkscreen-5.2.1/CMakeLists.txt
--- old/libkscreen-5.2.0/CMakeLists.txt 2015-01-22 15:01:58.000000000 +0100
+++ new/libkscreen-5.2.1/CMakeLists.txt 2015-02-21 21:10:58.000000000 +0100
@@ -1,5 +1,5 @@
 project(libkscreen)
-set(PROJECT_VERSION "5.2.0")
+set(PROJECT_VERSION "5.2.1")
 
 cmake_minimum_required(VERSION 2.8.12)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkscreen-5.2.0/src/configmonitor.cpp 
new/libkscreen-5.2.1/src/configmonitor.cpp
--- old/libkscreen-5.2.0/src/configmonitor.cpp  2015-01-22 15:01:58.000000000 
+0100
+++ new/libkscreen-5.2.1/src/configmonitor.cpp  2015-02-21 21:10:58.000000000 
+0100
@@ -50,8 +50,7 @@
     QPointer<org::kde::kscreen::Backend> mBackend;
     bool mFirstBackend;
 
-    QSet<int> mPendingEDIDRequests;
-    KScreen::ConfigPtr mPendingConfigUpdate;
+    QMap<KScreen::ConfigPtr, QList<int>> mPendingEDIDRequests;
 private:
     ConfigMonitor *q;
 };
@@ -117,17 +116,17 @@
     Q_FOREACH (OutputPtr output, newConfig->connectedOutputs()) {
         if (!output->edid() && output->isConnected()) {
             QDBusPendingReply<QByteArray> reply = 
mBackend->getEdid(output->id());
-            mPendingEDIDRequests.insert(output->id());
+            mPendingEDIDRequests[newConfig].append(output->id());
             QDBusPendingCallWatcher *watcher = new 
QDBusPendingCallWatcher(reply);
             watcher->setProperty("outputId", output->id());
+            watcher->setProperty("config", QVariant::fromValue(newConfig));
             connect(watcher, &QDBusPendingCallWatcher::finished,
                     this, &ConfigMonitor::Private::edidReady);
         }
     }
 
-    if (!mPendingEDIDRequests.isEmpty()) {
-        qCDebug(KSCREEN) << "Requesting missing EDID for outputs" << 
mPendingEDIDRequests;
-        mPendingConfigUpdate = newConfig;
+    if (mPendingEDIDRequests.contains(newConfig)) {
+        qCDebug(KSCREEN) << "Requesting missing EDID for outputs" << 
mPendingEDIDRequests[newConfig];
     } else {
         updateConfigs(newConfig);
     }
@@ -136,31 +135,27 @@
 void ConfigMonitor::Private::edidReady(QDBusPendingCallWatcher* watcher)
 {
     const int outputId = watcher->property("outputId").toInt();
-    Q_ASSERT(!mPendingConfigUpdate.isNull());
-    Q_ASSERT(mPendingEDIDRequests.contains(outputId));
+    const ConfigPtr config = 
watcher->property("config").value<KScreen::ConfigPtr>();
+    Q_ASSERT(mPendingEDIDRequests.contains(config));
+    Q_ASSERT(mPendingEDIDRequests[config].contains(outputId));
 
     watcher->deleteLater();
 
-    mPendingEDIDRequests.remove(watcher->property("outputId").toInt());
+    mPendingEDIDRequests[config].removeOne(outputId);
 
     const QDBusPendingReply<QByteArray> reply = *watcher;
     if (reply.isError()) {
         qCWarning(KSCREEN) << "Error when retrieving EDID: " << 
reply.error().message();
-        if (mPendingEDIDRequests.isEmpty()) {
-            updateConfigs(mPendingConfigUpdate);
+    } else {
+        const QByteArray edid = reply.argumentAt<0>();
+        if (!edid.isEmpty()) {
+            OutputPtr output = config->output(outputId);
+            output->setEdid(edid);
         }
-        return;
-    }
-
-    const QByteArray edid = reply.argumentAt<0>();
-    if (!edid.isEmpty()) {
-        OutputPtr output = mPendingConfigUpdate->output(outputId);
-        output->setEdid(edid);
     }
 
-    if (mPendingEDIDRequests.isEmpty()) {
-        const KScreen::ConfigPtr config = mPendingConfigUpdate;
-        mPendingConfigUpdate.clear();
+    if (mPendingEDIDRequests[config].isEmpty()) {
+        mPendingEDIDRequests.remove(config);
         updateConfigs(config);
     }
 }

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to