From ea12f0e1fa5fbad285cbc57a4ce381ce4ce48076 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 6 Nov 2017 10:09:15 -0600 Subject: [PATCH] QListView upstream regression (#1509649, QTBUG-63846) --- ...ide-a-modal-window-when-a-QShapedPix.patch | 45 +++++++++++++++++++ qt5-qtbase.spec | 10 ++++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 0106-Fix-dragging-inside-a-modal-window-when-a-QShapedPix.patch diff --git a/0106-Fix-dragging-inside-a-modal-window-when-a-QShapedPix.patch b/0106-Fix-dragging-inside-a-modal-window-when-a-QShapedPix.patch new file mode 100644 index 0000000..be8939b --- /dev/null +++ b/0106-Fix-dragging-inside-a-modal-window-when-a-QShapedPix.patch @@ -0,0 +1,45 @@ +From acdb3340321d1b8823b54f2ea492f975c6f942d8 Mon Sep 17 00:00:00 2001 +From: Andy Shaw +Date: Fri, 27 Oct 2017 08:36:25 +0200 +Subject: [PATCH 106/127] Fix dragging inside a modal window when a + QShapedPixmapWindow is used + +A regression was introduced with a3d59c7c7f675b0a4e128efeb781aa1c2f7db4c0 +which caused dragging to fail within a modal dialog on the XCB platform. +By adding an exception for the QShapedPixmapWindow, which is the window +used for the drag, we can allow that to continue to work whilst blocking +to the other newly created windows. + +Task-number: QTBUG-63846 +Change-Id: I7c7f365f30fcf5f04f50dc1a7fff7a09e6e5ed6c +Reviewed-by: Richard Moe Gustavsen +--- + src/gui/kernel/qwindow.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp +index 43b201e9b0..9e5b687851 100644 +--- a/src/gui/kernel/qwindow.cpp ++++ b/src/gui/kernel/qwindow.cpp +@@ -54,6 +54,7 @@ + # include "qaccessible.h" + #endif + #include "qhighdpiscaling_p.h" ++#include "qshapedpixmapdndwindow_p.h" + + #include + +@@ -576,7 +577,9 @@ void QWindow::setVisible(bool visible) + QGuiApplicationPrivate::showModalWindow(this); + else + QGuiApplicationPrivate::hideModalWindow(this); +- } else if (visible && QGuiApplication::modalWindow()) { ++ // QShapedPixmapWindow is used on some platforms for showing a drag pixmap, so don't block ++ // input to this window as it is performing a drag - QTBUG-63846 ++ } else if (visible && QGuiApplication::modalWindow() && !qobject_cast(this)) { + QGuiApplicationPrivate::updateBlockedStatus(this); + } + +-- +2.14.3 + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index ed2f31f..318ad72 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -55,7 +55,7 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components Version: 5.9.2 -Release: 3%{?dist} +Release: 4%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -112,6 +112,8 @@ Patch66: qtbase-mariadb.patch ## upstream patches (5.9 branch) +Patch106: 0106-Fix-dragging-inside-a-modal-window-when-a-QShapedPix.patch + # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # Those themes are there for platform integration. If the required libraries are # not there, the platform to integrate with isn't either. Then Qt will just @@ -341,6 +343,9 @@ Qt5 libraries used for drawing widgets and OpenGL items. %prep %setup -q -n %{qt_module}-opensource-src-%{version} +## upstream fixes +%patch106 -p1 + %patch4 -p1 -b .QTBUG-35459 %patch50 -p1 -b .QT_VERSION_CHECK @@ -972,6 +977,9 @@ fi %changelog +* Mon Nov 06 2017 Rex Dieter - 5.9.2-4 +- QListView upstream regression (#1509649, QTBUG-63846) + * Mon Oct 23 2017 Rex Dieter - 5.9.2-3 - pass QMAKE_*_RELEASE to configure to ensure optflags get used (#1505260)