[PATCH] dix: fix wrong condition checking for attached slave (#44003)

Peter Hutterer peter.hutterer at who-t.net
Wed Jan 4 21:58:41 PST 2012


We need to update the master if the device is not a master _and_ it is not
floating.

Triggered since 51437995a5041a8c53c33b508b1607c78a5fa463, introduced in
dc57f89959e549403f8488eb9f23425bd7118b22.

X.Org Bug 44003 <http://bugs.freedesktop.org/show_bug.cgi?id=44003>

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 dix/getevents.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dix/getevents.c b/dix/getevents.c
index 3b40a5b..d0014e6 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1328,7 +1328,7 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type,
     storeLastValuators(pDev, &mask, 0, 1, devx, devy);
 
     /* Update the MD's co-ordinates, which are always in desktop space. */
-    if (!IsMaster(pDev) || !IsFloating(pDev)) {
+    if (!IsMaster(pDev) && !IsFloating(pDev)) {
         DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
         master->last.valuators[0] = screenx;
         master->last.valuators[1] = screeny;
-- 
1.7.7.4



More information about the xorg-devel mailing list