38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
From 46f1c4c86bbfe7b6917907700bec998626ad4a8b Mon Sep 17 00:00:00 2001
|
|
From: Alexander Volkov <a.volkov@rusbitech.ru>
|
|
Date: Wed, 11 May 2016 18:42:24 +0300
|
|
Subject: [PATCH 001/178] xcb: Properly interpret data.l[0] field of XdndStatus
|
|
message
|
|
|
|
The standard https://freedesktop.org/wiki/Specifications/XDND/
|
|
states: "In order for the proxy window to behave correctly, the
|
|
appropriate field of the client messages, window or data.l[0],
|
|
must contain the ID of the window in which the mouse is located,
|
|
not the proxy window that is receiving the messages."
|
|
|
|
So compare it with the current target window instead of the
|
|
current proxy window.
|
|
|
|
Change-Id: Ie31fd3aeadebcf5a9be7b9a9194f35a4ec7bdebb
|
|
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
---
|
|
src/plugins/platforms/xcb/qxcbdrag.cpp | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp
|
|
index 6fa5dfa..f93e420 100644
|
|
--- a/src/plugins/platforms/xcb/qxcbdrag.cpp
|
|
+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp
|
|
@@ -829,7 +829,7 @@ void QXcbDrag::handle_xdnd_status(const xcb_client_message_event_t *event)
|
|
DEBUG("xdndHandleStatus");
|
|
waiting_for_status = false;
|
|
// ignore late status messages
|
|
- if (event->data.data32[0] && event->data.data32[0] != current_proxy_target)
|
|
+ if (event->data.data32[0] && event->data.data32[0] != current_target)
|
|
return;
|
|
|
|
const bool dropPossible = event->data.data32[1];
|
|
--
|
|
2.7.4
|
|
|