Hello community,

here is the log from the commit of package kimageformats for openSUSE:Factory 
checked in at 2018-10-22 11:13:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kimageformats (Old)
 and      /work/SRC/openSUSE:Factory/.kimageformats.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kimageformats"

Mon Oct 22 11:13:09 2018 rev:59 rq:642324 version:5.51.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kimageformats/kimageformats.changes      
2018-10-01 08:06:58.474334818 +0200
+++ /work/SRC/openSUSE:Factory/.kimageformats.new/kimageformats.changes 
2018-10-22 11:13:11.351786010 +0200
@@ -1,0 +2,17 @@
+Tue Oct 16 08:02:17 UTC 2018 - Luca Beltrame <[email protected]>
+
+- Run spec-cleaner
+
+-------------------------------------------------------------------
+Mon Oct 15 11:50:35 UTC 2018 - [email protected]
+
+- Update to 5.51.0
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/kde-frameworks-5.51.0.php
+- Changes since 5.50.0:
+  * kimg_rgb: optimize away QRegExp and QString::fromLocal8Bit.
+  * [EPS] qWarning -> qCWarning
+  * [EPS] Fix crash at app shutdown (being tried to persist clipboard image) 
(kde#397040)
+
+-------------------------------------------------------------------

Old:
----
  kimageformats-5.50.0.tar.xz

New:
----
  kimageformats-5.51.0.tar.xz

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

Other differences:
------------------
++++++ kimageformats.spec ++++++
--- /var/tmp/diff_new_pack.fhlXYI/_old  2018-10-22 11:13:11.963785523 +0200
+++ /var/tmp/diff_new_pack.fhlXYI/_new  2018-10-22 11:13:11.967785519 +0200
@@ -12,22 +12,22 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
-%define _tar_path 5.50
+%define _tar_path 5.51
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
 %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | 
awk -F. '{print $1"."$2}')}
 Name:           kimageformats
-Version:        5.50.0
+Version:        5.51.0
 Release:        0
 Summary:        Image format plugins for Qt
 License:        LGPL-2.1-or-later
 Group:          System/GUI/KDE
-URL:            http://www.kde.org
+URL:            https://www.kde.org
 Source:         
http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
 Source1:        baselibs.conf
 BuildRequires:  cmake >= 3.0

++++++ kimageformats-5.50.0.tar.xz -> kimageformats-5.51.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kimageformats-5.50.0/CMakeLists.txt 
new/kimageformats-5.51.0/CMakeLists.txt
--- old/kimageformats-5.50.0/CMakeLists.txt     2018-09-01 00:22:12.000000000 
+0200
+++ new/kimageformats-5.51.0/CMakeLists.txt     2018-10-07 12:07:12.000000000 
+0200
@@ -3,7 +3,7 @@
 project(KImageFormats)
 
 include(FeatureSummary)
-find_package(ECM 5.50.0  NO_MODULE)
+find_package(ECM 5.51.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL 
"https://projects.kde.org/projects/kdesupport/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kimageformats-5.50.0/src/imageformats/eps.cpp 
new/kimageformats-5.51.0/src/imageformats/eps.cpp
--- old/kimageformats-5.50.0/src/imageformats/eps.cpp   2018-09-01 
00:22:12.000000000 +0200
+++ new/kimageformats-5.51.0/src/imageformats/eps.cpp   2018-10-07 
12:07:12.000000000 +0200
@@ -14,6 +14,7 @@
 #include <QPrinter>
 #include <QProcess>
 #include <QTemporaryFile>
+#include <QCoreApplication>
 
 // logging category for this framework, default: log stuff >= warning
 Q_LOGGING_CATEGORY(EPSPLUGIN, "epsplugin", QtWarningMsg)
@@ -156,7 +157,7 @@
 
     QTemporaryFile tmpFile;
     if (!tmpFile.open()) {
-        qWarning() << "Could not create the temporary file" << 
tmpFile.fileName();
+        qCWarning(EPSPLUGIN) << "Could not create the temporary file" << 
tmpFile.fileName();
         return false;
     }
     qCDebug(EPSPLUGIN) << "temporary file:" << tmpFile.fileName();
@@ -198,7 +199,7 @@
     converter.setProcessChannelMode(QProcess::ForwardedErrorChannel);
     converter.start(QStringLiteral("gs"), gsArgs);
     if (!converter.waitForStarted(3000)) {
-        qWarning() << "Reading EPS files requires gs (from GhostScript)";
+        qCWarning(EPSPLUGIN) << "Reading EPS files requires gs (from 
GhostScript)";
         return false;
     }
 
@@ -297,7 +298,7 @@
         converter.start(QStringLiteral("gs"), gsArgs);
 
         if (!converter.waitForStarted(3000)) {
-            qWarning() << "Creating EPS files requires pdftops (from Poppler) 
or gs (from GhostScript)";
+            qCWarning(EPSPLUGIN) << "Creating EPS files requires pdftops (from 
Poppler) or gs (from GhostScript)";
             return false;
         }
     }
@@ -312,7 +313,7 @@
 bool EPSHandler::canRead(QIODevice *device)
 {
     if (!device) {
-        qWarning("EPSHandler::canRead() called with no device");
+        qCWarning(EPSPLUGIN) << "EPSHandler::canRead() called with no device";
         return false;
     }
 
@@ -333,6 +334,15 @@
 
 QImageIOPlugin::Capabilities EPSPlugin::capabilities(QIODevice *device, const 
QByteArray &format) const
 {
+    // prevent bug #397040: when on app shutdown the clipboard content is to 
be copied to survive end of the app,
+    // QXcbIntegration looks for some QImageIOHandler to apply, querying the 
capabilities and picking any first.
+    // At that point this plugin no longer has its requirements e.g. to run 
the external process, so we have to deny.
+    // The capabilities seem to be queried on demand in Qt code and not 
cached, so it's fine to report based
+    // in current dynamic state
+    if (!QCoreApplication::instance()) {
+        return {};
+    }
+
     if (format == "eps" || format == "epsi" || format == "epsf") {
         return Capabilities(CanRead | CanWrite);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kimageformats-5.50.0/src/imageformats/rgb.cpp 
new/kimageformats-5.51.0/src/imageformats/rgb.cpp
--- old/kimageformats-5.50.0/src/imageformats/rgb.cpp   2018-09-01 
00:22:12.000000000 +0200
+++ new/kimageformats-5.51.0/src/imageformats/rgb.cpp   2018-10-07 
12:07:12.000000000 +0200
@@ -686,8 +686,8 @@
         return false;
     }
 
-    qint64 oldPos = device->pos();
-    QByteArray head = device->readLine(64);
+    const qint64 oldPos = device->pos();
+    const QByteArray head = device->readLine(64);
     int readBytes = head.size();
 
     if (device->isSequential()) {
@@ -699,10 +699,7 @@
         device->seek(oldPos);
     }
 
-    const QRegExp regexp(QLatin1String("^\x01\xda\x01[\x01\x02]"));
-    QString data(QString::fromLocal8Bit(head));
-
-    return data.contains(regexp);
+    return head.size() >= 4 && head.startsWith("\x01\xda\x01") && (head[3] == 
1 || head[3] == 2);
 }
 
 ///////////////////////////////////////////////////////////////////////////////


Reply via email to