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