summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-base/xorg-server/files/1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch')
-rw-r--r--x11-base/xorg-server/files/1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/x11-base/xorg-server/files/1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch b/x11-base/xorg-server/files/1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch
deleted file mode 100644
index 82f4f50..0000000
--- a/x11-base/xorg-server/files/1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 873ef3430e92b0756c0dbe5033f6aec38a20d6ad Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Wed, 16 Dec 2009 13:43:22 +1000
-Subject: [PATCH] dix: if owner-events is true for passive grabs, add the window mask (#25400)
-
-A client requesting a GrabModeSync button grab, owner-events true, with only
-the ButtonRelease mask set would never receive the press event even if the
-grab window had the ButtonPress mask set.
-
-The protocol requires that if owner-events is true, then the delivery mask
-is the combination of the grab mask + the window event mask.
-
-X.Org Bug 25400 <http://bugs.freedesktop.org/show_bug.cgi?id=25400>
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- dix/events.c | 36 ++++++++++++++++++++++++++++++++++++
- 1 files changed, 36 insertions(+), 0 deletions(-)
-
-diff --git a/dix/events.c b/dix/events.c
-index 7e0867c..12b12a8 100644
---- a/dix/events.c
-+++ b/dix/events.c
-@@ -3590,6 +3590,8 @@ CheckPassiveGrabsOnWindow(
- xE = &core;
- count = 1;
- mask = grab->eventMask;
-+ if (grab->ownerEvents)
-+ mask |= pWin->eventMask;
- } else if (match & XI2_MATCH)
- {
- rc = EventToXI2((InternalEvent*)event, &xE);
-@@ -3611,6 +3613,24 @@ CheckPassiveGrabsOnWindow(
- mask = grab->xi2mask[device->id][((xGenericEvent*)xE)->evtype/8];
- else if (event->type == XI_Enter || event->type == XI_FocusIn)
- mask = grab->xi2mask[device->id][event->type/8];
-+
-+ if (grab->ownerEvents && wOtherInputMasks(grab->window))
-+ {
-+ InputClientsPtr icp =
-+ wOtherInputMasks(grab->window)->inputClients;
-+
-+ while(icp)
-+ {
-+ if (rClient(icp) == rClient(grab))
-+ {
-+ int evtype = (xE) ? ((xGenericEvent*)xE)->evtype : event->type;
-+ mask |= icp->xi2mask[device->id][evtype/8];
-+ break;
-+ }
-+
-+ icp = icp->next;
-+ }
-+ }
- } else
- {
- rc = EventToXI((InternalEvent*)event, &xE, &count);
-@@ -3622,6 +3642,22 @@ CheckPassiveGrabsOnWindow(
- continue;
- }
- mask = grab->eventMask;
-+ if (grab->ownerEvents && wOtherInputMasks(grab->window))
-+ {
-+ InputClientsPtr icp =
-+ wOtherInputMasks(grab->window)->inputClients;
-+
-+ while(icp)
-+ {
-+ if (rClient(icp) == rClient(grab))
-+ {
-+ mask |= icp->mask[device->id];
-+ break;
-+ }
-+
-+ icp = icp->next;
-+ }
-+ }
- }
-
- (*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE);
---
-1.6.5.2
-