Hello community,

here is the log from the commit of package libqt5-qtwayland for 
openSUSE:Factory checked in at 2020-01-19 20:55:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtwayland (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtwayland"

Sun Jan 19 20:55:12 2020 rev:31 rq:758900 version:5.14.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtwayland/libqt5-qtwayland.changes        
2019-09-09 12:31:10.681513625 +0200
+++ 
/work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.26092/libqt5-qtwayland.changes 
    2020-01-19 20:56:57.688035245 +0100
@@ -1,0 +2,70 @@
+Sun Dec 22 22:52:51 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Remove unneeded parentheses in License tag
+
+-------------------------------------------------------------------
+Mon Dec 16 09:42:21 UTC 2019 - Christophe Giboudeaux <[email protected]>
+
+- Update the license tags.
+
+-------------------------------------------------------------------
+Thu Dec 12 12:55:17 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Update to 5.14.0:
+  * New bugfix release
+  * For the changes between 5.13.2 and 5.14.0 please see:
+    https://code.qt.io/cgit/qt/qtwayland.git/tree/dist/changes-5.14.0?h=v5.14.0
+  * For the changes between 5.13.1 and 5.13.2 please see:
+    https://code.qt.io/cgit/qt/qtwayland.git/tree/dist/changes-5.13.2?h=v5.14.0
+
+-------------------------------------------------------------------
+Wed Dec  4 14:38:13 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Update to 5.14.0-rc:
+  * New bugfix release
+  * No changelog available
+  * For more details please see:
+  * For more details about Qt 5.14 please see:
+    https://wiki.qt.io/New_Features_in_Qt_5.14
+- Add patch to address performance regression (kde#412924):
+  * 0001-Avoid-animating-single-frame-cursors.patch
+
+-------------------------------------------------------------------
+Tue Nov 12 13:03:32 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Update to 5.14.0-beta3:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Thu Oct 24 13:23:10 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Update to 5.14.0-beta2:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Tue Oct 15 12:34:55 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Update to 5.14.0-beta1:
+  * New bugfix release
+  * No changelog available
+
+-------------------------------------------------------------------
+Mon Sep 30 13:30:40 UTC 2019 - Fabian Vogt <[email protected]>
+
+- Update to 5.14.0-alpha:
+  * New feature release
+  * No changelog available
+  * For more details about Qt 5.14 please see:
+    https://wiki.qt.io/New_Features_in_Qt_5.14
+- Drop patch, cause of the regression was reverted in qtbase:
+  * 0003-Client-Don-t-send-fake-SurfaceCreated-Destroyed-even.patch
+- Drop patch, now upstream:
+  * 0004-Client-Make-handleUpdate-aware-of-exposure-changes.patch
+- Drop patch, it's (hopefully) no longer necessary:
+  * workaround-null-object.patch
+- Add patch to fix build:
+  * fix-return-nonvoid-function.patch
+
+-------------------------------------------------------------------

Old:
----
  0003-Client-Don-t-send-fake-SurfaceCreated-Destroyed-even.patch
  0004-Client-Make-handleUpdate-aware-of-exposure-changes.patch
  qtwayland-everywhere-src-5.13.1.tar.xz
  workaround-null-object.patch

New:
----
  0001-Avoid-animating-single-frame-cursors.patch
  fix-return-nonvoid-function.patch
  qtwayland-everywhere-src-5.14.0.tar.xz

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

Other differences:
------------------
++++++ libqt5-qtwayland.spec ++++++
--- /var/tmp/diff_new_pack.AL8s2u/_old  2020-01-19 20:56:58.580035713 +0100
+++ /var/tmp/diff_new_pack.AL8s2u/_new  2020-01-19 20:56:58.596035722 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libqt5-qtwayland
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,40 +12,35 @@
 # 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 qt5_snapshot 0
 %define libname libQt5WaylandCompositor5
 %define base_name libqt5
-%define real_version 5.13.1
-%define so_version 5.13.1
-%define tar_version qtwayland-everywhere-src-5.13.1
+%define real_version 5.14.0
+%define so_version 5.14.0
+%define tar_version qtwayland-everywhere-src-5.14.0
 Name:           libqt5-qtwayland
-Version:        5.13.1
+Version:        5.14.0
 Release:        0
 Summary:        Qt 5 Wayland Addon
-License:        LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
+# The wayland compositor files are GPL-3.0-or-later
+License:        GPL-3.0-or-later AND (LGPL-3.0-only OR GPL-2.0-only OR 
GPL-3.0-or-later)
 Group:          Development/Libraries/X11
-Url:            https://www.qt.io
-Source:         
https://download.qt.io/official_releases/qt/5.13/%{real_version}/submodules/%{tar_version}.tar.xz
+URL:            https://www.qt.io
+Source:         
https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
 Source1:        baselibs.conf
-# Those aren't merged upstream yet
-# https://codereview.qt-project.org/c/qt/qtwayland/+/265999
-Patch3:         0003-Client-Don-t-send-fake-SurfaceCreated-Destroyed-even.patch
-# https://codereview.qt-project.org/c/qt/qtwayland/+/265998
-Patch4:         0004-Client-Make-handleUpdate-aware-of-exposure-changes.patch
+# PATCH-FIX-UPSTREAM
+Patch1:         0001-Avoid-animating-single-frame-cursors.patch
 # PATCH-FIX-OPENSUSE
-Patch100:       workaround-null-object.patch
+Patch100:       fix-return-nonvoid-function.patch
 BuildRequires:  fdupes
 BuildRequires:  libqt5-qtbase-private-headers-devel >= %{version}
 BuildRequires:  libqt5-qtdeclarative-private-headers-devel >= %{version}
+BuildRequires:  pkgconfig
 BuildRequires:  xz
-%if 0%{?suse_version} < 1330
-# It does not build with the default compiler (GCC 4.8) on Leap 42.x
-BuildRequires:  gcc7-c++
-%endif
 BuildRequires:  pkgconfig(egl)
 BuildRequires:  pkgconfig(wayland-client) >= 1.1.0
 BuildRequires:  pkgconfig(wayland-egl)
@@ -53,6 +48,10 @@
 BuildRequires:  pkgconfig(xcomposite)
 BuildRequires:  pkgconfig(xkbcommon) >= 0.2.0
 Conflicts:      qtwayland
+%if 0%{?suse_version} < 1330
+# It does not build with the default compiler (GCC 4.8) on Leap 42.x
+BuildRequires:  gcc7-c++
+%endif
 %if %{qt5_snapshot}
 #to create the forwarding headers
 BuildRequires:  perl
@@ -75,9 +74,9 @@
 %package private-headers-devel
 Summary:        Qt 5 Wayland Addon Non-ABI stable experimental API files
 Group:          Development/Libraries/C and C++
-BuildArch:      noarch
 Requires:       %{name}-devel = %{version}
 Requires:       libqt5-qtbase-private-headers-devel
+BuildArch:      noarch
 
 %description private-headers-devel
 This package provides private headers of libqt5-qtwayland that are normally
@@ -104,6 +103,7 @@
 %package examples
 Summary:        Qt5 wayland examples
 Group:          Development/Libraries/X11
+License:        BSD-3-Clause
 Recommends:     %{name}-devel
 
 %description examples
@@ -113,15 +113,10 @@
 %autosetup -p1 -n %{tar_version}
 
 %post  -n libQt5WaylandCompositor5 -p /sbin/ldconfig
-
 %postun -n libQt5WaylandCompositor5 -p /sbin/ldconfig
-
 %post  -n libQt5WaylandClient5 -p /sbin/ldconfig
-
 %postun -n libQt5WaylandClient5 -p /sbin/ldconfig
-
 %post   -p /sbin/ldconfig
-
 %postun -p /sbin/ldconfig
 
 %build
@@ -140,10 +135,10 @@
     export CXX=g++-7
 %endif
 
-%{make_jobs}
+%make_jobs
 
 %install
-%{qmake5_install}
+%qmake5_install
 
 find %{buildroot}%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, 
-L%{_builddir}/\S+,,g' {} \;
 find %{buildroot}%{_libdir}/pkgconfig -type f -name '*pc' -print -exec perl 
-pi -e 's, -L%{_builddir}/\S+,,g' {} \;
@@ -153,25 +148,21 @@
 fdupes -s %{buildroot}
 
 %files
-%defattr(-,root,root,-)
-%doc LICENSE.*
+%license LICENSE.*
 %{_libqt5_bindir}/qtwaylandscanner
 %{_libqt5_plugindir}/
 %{_libqt5_archdatadir}/qml/QtWayland/
 
 %files -n libQt5WaylandCompositor5
-%defattr(-,root,root,-)
-%doc  LICENSE.*
+%license LICENSE.*
 %{_libqt5_libdir}/libQt5WaylandCompositor.so.*
 
 %files -n libQt5WaylandClient5
-%defattr(-,root,root,-)
-%doc LICENSE.*
+%license LICENSE.*
 %{_libqt5_libdir}/libQt5WaylandClient.so.*
 
 %files devel
-%defattr(-,root,root,-)
-%doc LICENSE.*
+%license LICENSE.*
 %{_libqt5_libdir}/*.prl
 %{_libqt5_libdir}/*.so
 %{_libqt5_libdir}/pkgconfig/*
@@ -181,13 +172,11 @@
 %{_libqt5_includedir}/Qt*
 
 %files private-headers-devel
-%defattr(-,root,root,755)
-%doc LICENSE.*
+%license LICENSE.*
 %{_libqt5_includedir}/Qt*/%{so_version}
 
 %files examples
-%defattr(-,root,root,755)
-%doc LICENSE.*
+%license LICENSE.*
 %{_libqt5_examplesdir}/
 
 %changelog

++++++ 0001-Avoid-animating-single-frame-cursors.patch ++++++
>From 8a200369acf25841cb4fbfbc6b3866d851388306 Mon Sep 17 00:00:00 2001
From: David Edmundson <[email protected]>
Date: Thu, 28 Nov 2019 02:31:17 +0100
Subject: [PATCH] Avoid animating single frame cursors

Currently to determine if a cursor is animated or not we check the
cursor theme delay.

This doesn't work in practice as by default many cursor themes have a
delay of 50 set even if they don't animate.

This comes from xcursorgen which specifies a delay of 50ms if there
isn't anything set in the config.
(https://github.com/freedesktop/xcursorgen/blob/master/xcursorgen.c#L92)

Given many themes will have a delay we should also check the number of
images in a given cursor.

In order to do that without a double lookup QWaylandCursor needed to
return the native wl_cursor, not wl_cursor_image and move the relevant
logic.

Change-Id: Ie782ace8054910ae76e61cab33ceca0377194929
Reviewed-by: Johan Helsing <[email protected]>
---
 src/client/qwaylandcursor.cpp      | 12 ++----------
 src/client/qwaylandcursor_p.h      |  3 +--
 src/client/qwaylandinputdevice.cpp | 16 ++++++++++++----
 3 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/src/client/qwaylandcursor.cpp b/src/client/qwaylandcursor.cpp
index 4356b23a..1d3d88be 100644
--- a/src/client/qwaylandcursor.cpp
+++ b/src/client/qwaylandcursor.cpp
@@ -219,7 +219,7 @@ wl_cursor *QWaylandCursorTheme::requestCursor(WaylandCursor 
shape)
     return nullptr;
 }
 
-::wl_cursor_image *QWaylandCursorTheme::cursorImage(Qt::CursorShape shape, 
uint millisecondsIntoAnimation)
+::wl_cursor *QWaylandCursorTheme::cursor(Qt::CursorShape shape)
 {
     struct wl_cursor *waylandCursor = nullptr;
 
@@ -237,15 +237,7 @@ wl_cursor 
*QWaylandCursorTheme::requestCursor(WaylandCursor shape)
         return nullptr;
     }
 
-    int frame = wl_cursor_frame(waylandCursor, millisecondsIntoAnimation);
-    ::wl_cursor_image *image = waylandCursor->images[frame];
-    ::wl_buffer *buffer = wl_cursor_image_get_buffer(image);
-    if (!buffer) {
-        qCWarning(lcQpaWayland) << "Could not find buffer for cursor";
-        return nullptr;
-    }
-
-    return image;
+    return waylandCursor;
 }
 
 QWaylandCursor::QWaylandCursor(QWaylandDisplay *display)
diff --git a/src/client/qwaylandcursor_p.h b/src/client/qwaylandcursor_p.h
index a4605f3d..751ffa68 100644
--- a/src/client/qwaylandcursor_p.h
+++ b/src/client/qwaylandcursor_p.h
@@ -75,7 +75,7 @@ class Q_WAYLAND_CLIENT_EXPORT QWaylandCursorTheme
 public:
     static QWaylandCursorTheme *create(QWaylandShm *shm, int size, const 
QString &themeName);
     ~QWaylandCursorTheme();
-    ::wl_cursor_image *cursorImage(Qt::CursorShape shape, uint 
millisecondsIntoAnimation = 0);
+    ::wl_cursor *cursor(Qt::CursorShape shape);
 
 private:
     enum WaylandCursor {
@@ -129,7 +129,6 @@ public:
     void setPos(const QPoint &pos) override;
 
     static QSharedPointer<QWaylandBuffer> cursorBitmapBuffer(QWaylandDisplay 
*display, const QCursor *cursor);
-    struct wl_cursor_image *cursorImage(Qt::CursorShape shape);
 
 private:
     QWaylandDisplay *mDisplay = nullptr;
diff --git a/src/client/qwaylandinputdevice.cpp 
b/src/client/qwaylandinputdevice.cpp
index a4098edd..d812918e 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -283,8 +283,8 @@ void QWaylandInputDevice::Pointer::updateCursorTheme()
     if (!mCursor.theme)
         return; // A warning has already been printed in loadCursorTheme
 
-    if (auto *arrow = mCursor.theme->cursorImage(Qt::ArrowCursor)) {
-        int arrowPixelSize = qMax(arrow->width, arrow->height); // Not all 
cursor themes are square
+    if (auto *arrow = mCursor.theme->cursor(Qt::ArrowCursor)) {
+        int arrowPixelSize = qMax(arrow->images[0]->width, 
arrow->images[0]->height); // Not all cursor themes are square
         while (scale > 1 && arrowPixelSize / scale < cursorSize())
             --scale;
     } else {
@@ -326,12 +326,20 @@ void QWaylandInputDevice::Pointer::updateCursor()
 
     // Set from shape using theme
     uint time = seat()->mCursor.animationTimer.elapsed();
-    if (struct ::wl_cursor_image *image = mCursor.theme->cursorImage(shape, 
time)) {
+
+    if (struct ::wl_cursor *waylandCursor = mCursor.theme->cursor(shape)) {
+        int frame = wl_cursor_frame(waylandCursor, time);
+        ::wl_cursor_image *image = waylandCursor->images[frame];
+
         struct wl_buffer *buffer = wl_cursor_image_get_buffer(image);
+        if (!buffer) {
+            qCWarning(lcQpaWayland) << "Could not find buffer for cursor" << 
shape;
+            return;
+        }
         int bufferScale = mCursor.themeBufferScale;
         QPoint hotspot = QPoint(image->hotspot_x, image->hotspot_y) / 
bufferScale;
         QSize size = QSize(image->width, image->height) / bufferScale;
-        bool animated = image->delay > 0;
+        bool animated = waylandCursor->image_count > 1 && image->delay > 0;
         getOrCreateCursorSurface()->update(buffer, hotspot, size, bufferScale, 
animated);
         return;
     }
-- 
2.23.0

++++++ fix-return-nonvoid-function.patch ++++++
Index: qtwayland-everywhere-src-5.14.0-alpha/src/client/qwaylandinputdevice.cpp
===================================================================
--- 
qtwayland-everywhere-src-5.14.0-alpha.orig/src/client/qwaylandinputdevice.cpp
+++ qtwayland-everywhere-src-5.14.0-alpha/src/client/qwaylandinputdevice.cpp
@@ -968,6 +968,9 @@ bool QWaylandInputDevice::Pointer::Frame
     case axis_source_finger:
     case axis_source_continuous:
         return !delta.isNull();
+    default:
+        Q_UNREACHABLE();
+        return false;
     }
 }
 
++++++ qtwayland-everywhere-src-5.13.1.tar.xz -> 
qtwayland-everywhere-src-5.14.0.tar.xz ++++++
++++ 35390 lines of diff (skipped)


Reply via email to