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.hutte...@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 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel