]> git.pld-linux.org Git - packages/xorg-xserver-server.git/blob - xorg-xserver-server-xinerama-bug20557.patch
- up to 1.6.1
[packages/xorg-xserver-server.git] / xorg-xserver-server-xinerama-bug20557.patch
1 From 24e682d0fcc98d7c3f63fa484cc28285df48b499 Mon Sep 17 00:00:00 2001
2 From: Peter Hutterer <peter.hutterer@who-t.net>
3 Date: Wed, 25 Mar 2009 13:08:27 +1000
4 Subject: [PATCH] dix: ignore non-pointer events in XineramaCheckMotion (#20557)
5
6 Note that deviceKeyButtonPointer and keyButtonPointer have the same wire
7 layout, so we only need to check for event types.
8
9 X.Org Bug 20557 <http://bugs.freedesktop.org/show_bug.cgi?id=20557>
10
11 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
12 ---
13  dix/events.c |   17 +++++++++++++++++
14  1 files changed, 17 insertions(+), 0 deletions(-)
15
16 diff --git a/dix/events.c b/dix/events.c
17 index 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 -- 
45 1.6.0.6
46
This page took 0.051053 seconds and 3 git commands to generate.