QListView upstream regression (#1509649, QTBUG-63846)
This commit is contained in:
		
							parent
							
								
									9c6d6cc34e
								
							
						
					
					
						commit
						ea12f0e1fa
					
				@ -0,0 +1,45 @@
 | 
			
		||||
From acdb3340321d1b8823b54f2ea492f975c6f942d8 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Andy Shaw <andy.shaw@qt.io>
 | 
			
		||||
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 <richard.gustavsen@qt.io>
 | 
			
		||||
---
 | 
			
		||||
 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 <private/qevent_p.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -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<QShapedPixmapWindow *>(this)) {
 | 
			
		||||
         QGuiApplicationPrivate::updateBlockedStatus(this);
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
-- 
 | 
			
		||||
2.14.3
 | 
			
		||||
 | 
			
		||||
@ -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 <rdieter@fedoraproject.org> - 5.9.2-4
 | 
			
		||||
- QListView upstream regression (#1509649, QTBUG-63846)
 | 
			
		||||
 | 
			
		||||
* Mon Oct 23 2017 Rex Dieter <rdieter@fedoraproject.org> - 5.9.2-3
 | 
			
		||||
- pass QMAKE_*_RELEASE to configure to ensure optflags get used (#1505260)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user