]> git.pld-linux.org Git - packages/xorg-xserver-server.git/blame - xorg-xserver-server-xinerama-bug20557.patch
- rel 2
[packages/xorg-xserver-server.git] / xorg-xserver-server-xinerama-bug20557.patch
CommitLineData
a78fa6c4
AG
1From 24e682d0fcc98d7c3f63fa484cc28285df48b499 Mon Sep 17 00:00:00 2001
2From: Peter Hutterer <peter.hutterer@who-t.net>
3Date: Wed, 25 Mar 2009 13:08:27 +1000
4Subject: [PATCH] dix: ignore non-pointer events in XineramaCheckMotion (#20557)
5
6Note that deviceKeyButtonPointer and keyButtonPointer have the same wire
7layout, so we only need to check for event types.
8
9X.Org Bug 20557 <http://bugs.freedesktop.org/show_bug.cgi?id=20557>
10
11Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12---
13 dix/events.c | 17 +++++++++++++++++
14 1 files changed, 17 insertions(+), 0 deletions(-)
15
16diff --git a/dix/events.c b/dix/events.c
17index 6743cae..63b0674 100644
18--- a/dix/events.c
19+++ b/dix/events.c
20@@ -625,6 +625,23 @@ XineramaCheckMotion(xEvent *xE, DeviceIntPtr pDev)
21
22 if (xE && !syncEvents.playingEvents)
23 {
24+ /* GetPointerEvents() guarantees that pointer events have the correct
25+ rootX/Y set already. */
26+ switch(xE->u.u.type)
27+ {
28+ case ButtonPress:
29+ case ButtonRelease:
30+ case MotionNotify:
31+ break;
32+ default:
33+ if (xE->u.u.type == DeviceButtonPress ||
34+ xE->u.u.type == DeviceButtonRelease ||
35+ xE->u.u.type == DeviceMotionNotify)
36+ break;
37+ /* all other events return FALSE */
38+ return FALSE;
39+ }
40+
41 /* Motion events entering DIX get translated to Screen 0
42 coordinates. Replayed events have already been
43 translated since they've entered DIX before */
44--
451.6.0.6
46
This page took 0.145116 seconds and 4 git commands to generate.