rpms/xorg-x11-server/devel xserver-1.7.4-owner-events.patch, NONE, 1.1 xorg-x11-server.spec, 1.503, 1.504
Peter Hutterer
whot at fedoraproject.org
Fri Mar 19 03:51:52 UTC 2010
- Previous message: rpms/xorg-x11-server/devel xserver-1.8-disable-vboxvideo.patch, NONE, 1.1 .cvsignore, 1.82, 1.83 commitid, 1.40, 1.41 sources, 1.78, 1.79 xorg-x11-server.spec, 1.502, 1.503 xvfb-run.sh, 1.2, 1.3
- Next message: rpms/xorg-x11-server/F-13 xserver-1.7.4-owner-events.patch, NONE, 1.1 .cvsignore, 1.83, 1.84 sources, 1.78, 1.79 xorg-x11-server.spec, 1.507, 1.508
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: whot
Update of /cvs/pkgs/rpms/xorg-x11-server/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv14352
Modified Files:
xorg-x11-server.spec
Added Files:
xserver-1.7.4-owner-events.patch
Log Message:
* Fri Mar 19 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.7.99.902-2.20100319
- xserver-1.7.4-owner-events.patch: if owner-events is true for passive
grabs, add the window mask (#543647)
xserver-1.7.4-owner-events.patch:
events.c | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
--- NEW FILE xserver-1.7.4-owner-events.patch ---
>From 883ed64cd23ad286250894b42c04603da85b65b5 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer at 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 at who-t.net>
Tested-by: Jim Ramsay <i.am at jimramsay.com>
---
dix/events.c | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/dix/events.c b/dix/events.c
index 85c8f9a..b854d98 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -3580,6 +3580,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);
@@ -3601,6 +3603,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);
@@ -3612,6 +3632,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.6
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.503
retrieving revision 1.504
diff -u -p -r1.503 -r1.504
--- xorg-x11-server.spec 19 Mar 2010 03:37:30 -0000 1.503
+++ xorg-x11-server.spec 19 Mar 2010 03:51:52 -0000 1.504
@@ -19,7 +19,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.7.99.902
-Release: 1.%{gitdate}%{dist}
+Release: 2.%{gitdate}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -86,6 +86,9 @@ Patch6052: xserver-1.8-udev-warning.patc
# fallback to vesa when module is missing seems broken
Patch6053: xserver-1.8-disable-vboxvideo.patch
+# 543647
+Patch6054: xserver-1.7.4-owner-events.patch
+
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
%define sdkdir %{_includedir}/xorg
@@ -522,6 +525,10 @@ rm -rf $RPM_BUILD_ROOT
%{xserver_source_dir}
%changelog
+* Fri Mar 19 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.7.99.902-2.20100319
+- xserver-1.7.4-owner-events.patch: if owner-events is true for passive
+ grabs, add the window mask (#543647)
+
* Fri Mar 19 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.7.99.902-1.20100319
- Update to today's git.
- Previous message: rpms/xorg-x11-server/devel xserver-1.8-disable-vboxvideo.patch, NONE, 1.1 .cvsignore, 1.82, 1.83 commitid, 1.40, 1.41 sources, 1.78, 1.79 xorg-x11-server.spec, 1.502, 1.503 xvfb-run.sh, 1.2, 1.3
- Next message: rpms/xorg-x11-server/F-13 xserver-1.7.4-owner-events.patch, NONE, 1.1 .cvsignore, 1.83, 1.84 sources, 1.78, 1.79 xorg-x11-server.spec, 1.507, 1.508
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list