]> gitweb @ CieloNegro.org - pkgsrc-xorg-server.git/blob - patches/patch-aj
The original wip/modular-xorg-server
[pkgsrc-xorg-server.git] / patches / patch-aj
1 $NetBSD$
2
3 On Friday 04 July 2008, Joerg Sonnenberger wrote:
4 > On Thu, Jul 03, 2008 at 07:52:31PM -0600, Sverre Froyen wrote:
5 > > I've tracked the jumping cursor issue down to the function
6 > > acceleratePointer in dix/getevents.c.
7 >
8 > All this issues in the past happened because some very smart guys
9 > decided to do random broken things from signal context. Which is why
10 > this is extremely hard to trace down.
11
12 I still see the jumps in 1.4.2.  Perhaps my workaround (attached) could be 
13 included until a proper fix is developed?
14
15 --- dix/getevents.c.orig        2008-06-29 00:23:13.000000000 -0400
16 +++ dix/getevents.c
17 @@ -613,9 +613,15 @@ GetPointerEvents(xEvent *events, DeviceI
18          clipAxis(pDev, 1, &y);
19      }
20      else {
21 -        if (flags & POINTER_ACCELERATE)
22 +        if (flags & POINTER_ACCELERATE) {
23 +            int x_in;
24 +            if (num_valuators >= 1)
25 +                x_in = valuators[0];
26              acceleratePointer(pDev, first_valuator, num_valuators,
27                                valuators);
28 +            if (num_valuators >= 1 && valuators[0] < -3000)
29 +                valuators[0] = x_in;
30 +        }
31  
32          if (pDev->coreEvents) {
33              /* Get and convert the core pointer coordinate space into