xserver: Branch 'server-1.5-branch' - 2 commits
Peter Hutterer
whot at kemper.freedesktop.org
Wed Jul 16 16:44:29 PDT 2008
hw/kdrive/src/kinput.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
New commits:
commit 0baf677da6a724c2d8de46530622e1a186fa749e
Author: Peter Hutterer <peter at cs.unisa.edu.au>
Date: Mon Jun 2 11:04:41 2008 +0930
kdrive: don't post motion event if there was no motion. #16179
Based on the patch by Tomas Janousek. Backported version.
X.Org Bug 16179 <http://bugs.freedesktop.org/show_bug.cgi?id=16179>
(cherry picked from commit 26e7e69ab893d1f2b35213250ada40ec90944f62)
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index df73942..80fcdde 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -2078,7 +2078,7 @@ KdEnqueuePointerEvent(KdPointerInfo *pi, unsigned long flags, int rx, int ry,
int (*matrix)[3] = kdPointerMatrix.matrix;
unsigned long button;
int n;
- int dixflags;
+ int dixflags = 0;
if (!pi)
return;
@@ -2109,11 +2109,15 @@ KdEnqueuePointerEvent(KdPointerInfo *pi, unsigned long flags, int rx, int ry,
z = rz;
if (flags & KD_MOUSE_DELTA)
- dixflags = POINTER_RELATIVE & POINTER_ACCELERATE;
- else
- dixflags = POINTER_ABSOLUTE;
-
- _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE);
+ {
+ if (x || y || z)
+ dixflags = POINTER_RELATIVE | POINTER_ACCELERATE;
+ } else if ((pi->dixdev->valuator) && (x != pi->dixdev->valuator->lastx ||
+ y != pi->dixdev->valuator->lasty))
+ dixflags = POINTER_ABSOLUTE;
+
+ if (dixflags)
+ _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE);
buttons = flags;
commit a75cbabc25d67b6e03a0f8e5be82ae5ac3887096
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Thu Jul 17 08:40:54 2008 +0930
Revert "kdrive: don't post motion event if there was no motion. #16179"
Just because it compiles on my machine doesn't make it right. Needs backported
patch from http://bugs.freedesktop.org/show_bug.cgi?id=16179.
This reverts commit a08ea64ded83f3781df769eec074d563b03a718f.
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c
index a7eae3f..df73942 100644
--- a/hw/kdrive/src/kinput.c
+++ b/hw/kdrive/src/kinput.c
@@ -2078,7 +2078,7 @@ KdEnqueuePointerEvent(KdPointerInfo *pi, unsigned long flags, int rx, int ry,
int (*matrix)[3] = kdPointerMatrix.matrix;
unsigned long button;
int n;
- int dixflags = 0;
+ int dixflags;
if (!pi)
return;
@@ -2109,15 +2109,11 @@ KdEnqueuePointerEvent(KdPointerInfo *pi, unsigned long flags, int rx, int ry,
z = rz;
if (flags & KD_MOUSE_DELTA)
- {
- if (x || y || z)
- dixflags = POINTER_RELATIVE & POINTER_ACCELERATE;
- } else if (x != pi->dixdev->last.valuators[0] ||
- y != pi->dixdev->last.valuators[1])
- dixflags = POINTER_ABSOLUTE;
-
- if (dixflags)
- _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE);
+ dixflags = POINTER_RELATIVE & POINTER_ACCELERATE;
+ else
+ dixflags = POINTER_ABSOLUTE;
+
+ _KdEnqueuePointerEvent(pi, MotionNotify, x, y, z, 0, dixflags, FALSE);
buttons = flags;
More information about the xorg-commit
mailing list