forked from pool/libqt5-qtbase
c7d866e86a
- Add patch to fix crash during Drag-and-Drop: * 0001-Fix-crash-with-drag-cursor-handling.patch OBS-URL: https://build.opensuse.org/request/show/727912 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.13/libqt5-qtbase?expand=0&rev=19
47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
From d1141b6c90e53554f69fd6a7a272988211f5bd34 Mon Sep 17 00:00:00 2001
|
|
From: Joni Poikelin <joni.poikelin@qt.io>
|
|
Date: Thu, 28 Feb 2019 09:54:20 +0200
|
|
Subject: [PATCH] Fix crash with drag cursor handling
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
7a7c722782a435f7c01b94f48df7a5f4ff4d599e caused a regresssion in some
|
|
cases.
|
|
|
|
Change-Id: I1089a79534d811b195de663ff664d9ba5a6ac6c5
|
|
Fixes: QTBUG-74110
|
|
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
---
|
|
src/gui/kernel/qsimpledrag.cpp | 14 +++++++++-----
|
|
1 file changed, 9 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/gui/kernel/qsimpledrag.cpp b/src/gui/kernel/qsimpledrag.cpp
|
|
index 9aab332ef5..bd409c124f 100644
|
|
--- a/src/gui/kernel/qsimpledrag.cpp
|
|
+++ b/src/gui/kernel/qsimpledrag.cpp
|
|
@@ -310,11 +310,15 @@ void QBasicDrag::updateCursor(Qt::DropAction action)
|
|
m_dndHasSetOverrideCursor = true;
|
|
} else {
|
|
QCursor *cursor = QGuiApplication::overrideCursor();
|
|
- if (!pixmap.isNull()) {
|
|
- if (cursor->pixmap().cacheKey() != pixmap.cacheKey())
|
|
- QGuiApplication::changeOverrideCursor(QCursor(pixmap));
|
|
- } else if (cursorShape != cursor->shape()) {
|
|
- QGuiApplication::changeOverrideCursor(QCursor(cursorShape));
|
|
+ if (!cursor) {
|
|
+ QGuiApplication::changeOverrideCursor(pixmap.isNull() ? QCursor(cursorShape) : QCursor(pixmap));
|
|
+ } else {
|
|
+ if (!pixmap.isNull()) {
|
|
+ if (cursor->pixmap().cacheKey() != pixmap.cacheKey())
|
|
+ QGuiApplication::changeOverrideCursor(QCursor(pixmap));
|
|
+ } else if (cursorShape != cursor->shape()) {
|
|
+ QGuiApplication::changeOverrideCursor(QCursor(cursorShape));
|
|
+ }
|
|
}
|
|
}
|
|
#endif
|
|
--
|
|
2.22.0
|
|
|