qt5-qtbase/0554-xcb-Fix-drag-and-drop-...

42 lines
1.6 KiB
Diff

From c6d041e7ca3eb7945bf143a5c4fffcb2b2afba75 Mon Sep 17 00:00:00 2001
From: Urs Fleisch <ufleisch@users.sourceforge.net>
Date: Sun, 1 May 2016 14:31:48 +0200
Subject: [PATCH 554/652] xcb: Fix drag and drop to Emacs.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Unfortunately, the improved patch for QTBUG-45812 fixed things for
Chromium, but did no longer work for Emacs. This fixes commit [269fdb]
to make it work for both Emacs and Chromium.
Task-number: QTBUG-45812
Change-Id: I2fca708503f27679681bc6959de1ad94943a063e
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
---
src/plugins/platforms/xcb/qxcbdrag.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp
index f1428d0..529f91e 100644
--- a/src/plugins/platforms/xcb/qxcbdrag.cpp
+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp
@@ -1134,10 +1134,10 @@ void QXcbDrag::handleSelectionRequest(const xcb_selection_request_event_t *event
at = findTransactionByWindow(event->requestor);
}
- if (at == -1 && event->time == XCB_CURRENT_TIME) {
+ if (at == -1) {
xcb_window_t target = findXdndAwareParent(connection(), event->requestor);
if (target) {
- if (current_target == target)
+ if (event->time == XCB_CURRENT_TIME && current_target == target)
at = -2;
else
at = findTransactionByWindow(target);
--
2.7.4