From 0bdf10fc36b4e1aa84a8d10ebbaf0b13baa4be78 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 15 Jul 2019 10:59:41 +0200 Subject: [PATCH] Pull in upstream fixes Disable patch which is not needed anymore because of qtbase change --- qt5-qtwayland.spec | 11 ++++-- qtwayland-fix-expose-event-compression.patch | 35 ++++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 qtwayland-fix-expose-event-compression.patch diff --git a/qt5-qtwayland.spec b/qt5-qtwayland.spec index 5aaaa38..85fbaba 100644 --- a/qt5-qtwayland.spec +++ b/qt5-qtwayland.spec @@ -3,7 +3,7 @@ Summary: Qt5 - Wayland platform support and QtCompositor module Name: qt5-%{qt_module} Version: 5.12.4 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv3 Url: http://www.qt.io @@ -14,9 +14,10 @@ Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submod Patch0: qtwayland-fix-stuttering-when-gui-thread-is-busy.patch Patch1: qtwayland-reset-frame-callback-timer-when-hiding-window.patch Patch2: qtwayland-emit-wl-surfare-lifetime-signals.patch -Patch3: qtwayland-dont-send-fake-surface-created-destroyed-events.patch +# Patch3: qtwayland-dont-send-fake-surface-created-destroyed-events.patch Patch4: qtwayland-make-handleupdate-aware-of-exposure-changes.patch Patch5: qtwayland-dont-crash-when-start-drag-without-dragfocus.patch +Patch6: qtwayland-fix-expose-event-compression.patch # filter qml provides %global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$ @@ -120,7 +121,11 @@ popd %changelog -* Thu Jul 02 2019 Jan Grulich - 5.12.3-3 +* Thu Jul 11 2019 Jan Grulich - 5.12.4-4 +- Pull in upstream fixes +- Disable patch which is not needed anymore because of qtbase change + +* Tue Jul 02 2019 Jan Grulich - 5.12.4-3 - Pull in upstream fixes * Thu Jun 27 2019 Jan Grulich - 5.12.4-2 diff --git a/qtwayland-fix-expose-event-compression.patch b/qtwayland-fix-expose-event-compression.patch new file mode 100644 index 0000000..4645c96 --- /dev/null +++ b/qtwayland-fix-expose-event-compression.patch @@ -0,0 +1,35 @@ +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 5e7e215..e4323e8 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -355,7 +355,7 @@ void QWaylandWindow::setGeometry(const QRect &rect) + mSentInitialResize = true; + } + QRect exposeGeometry(QPoint(), geometry().size()); +- if (exposeGeometry != mLastExposeGeometry) ++ if (isExposed() && !mInResizeFromApplyConfigure && exposeGeometry != mLastExposeGeometry) + sendExposeEvent(exposeGeometry); + } + +@@ -367,7 +367,9 @@ void QWaylandWindow::resizeFromApplyConfigure(const QSize &sizeWithMargins, cons + QRect geometry(windowGeometry().topLeft(), QSize(widthWithoutMargins, heightWithoutMargins)); + + mOffset += offset; ++ mInResizeFromApplyConfigure = true; + setGeometry(geometry); ++ mInResizeFromApplyConfigure = false; + } + + void QWaylandWindow::sendExposeEvent(const QRect &rect) +diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h +index d605b52..c82aa8d 100644 +--- a/src/client/qwaylandwindow_p.h ++++ b/src/client/qwaylandwindow_p.h +@@ -269,6 +269,7 @@ private: + void handleMouseEventWithDecoration(QWaylandInputDevice *inputDevice, const QWaylandPointerEvent &e); + void handleScreenChanged(); + ++ bool mInResizeFromApplyConfigure = false; + QRect mLastExposeGeometry; + + static const wl_callback_listener callbackListener;