From 4292a39c8014f9f4920bed3001802e4a3e523c5e Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 28 Oct 2013 12:10:10 +1000 Subject: [PATCH] Xi: fix logic error when calculating emulated motion events gcc -Wlogical-op exevents.c: In function 'DeliverEmulatedMotionEvent': exevents.c:1480:13: warning: logical 'or' of collectively exhaustive tests is always true [-Wlogical-op] The relevant snippet of exevents.c: 1479 if (ti->listeners[0].type != LISTENER_POINTER_REGULAR || 1480 ti->listeners[0].type != LISTENER_POINTER_GRAB) 1481 return; This condition was always true, causing dropped motion events. Reported-by: Alan Coopersmith Signed-off-by: Peter Hutterer Reviewed-by: Alan Coopersmith --- Xi/exevents.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xi/exevents.c b/Xi/exevents.c index fd4b80c48..5dc902054 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -1476,7 +1476,7 @@ DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, GrabPtr grab; XI2Mask *mask; - if (ti->listeners[0].type != LISTENER_POINTER_REGULAR || + if (ti->listeners[0].type != LISTENER_POINTER_REGULAR && ti->listeners[0].type != LISTENER_POINTER_GRAB) return;