[PATCH] dix: put warning in for scroll increments of 0
peter.hutterer at who-t.net
Wed Mar 14 20:46:56 PDT 2012
If the increment is 0 but this is a scroll axis, it's definitely a bug.
Nonetheless, it has happened, so put a warning in and a return statement
that we avoid the infinite loop and hopefully be able to reproduce later.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
obviously a stopgap, but I think this is the bug I'm seeing on resume,
every once in a while. Unfortunately, I didn't get more info out of it but
this should at least work around it for now.
dix/getevents.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dix/getevents.c b/dix/getevents.c
index 3c27aef..8eb8247 100644
@@ -1428,6 +1428,10 @@ emulate_scroll_button_events(InternalEvent *events,
ax = &dev->valuator->axes[axis];
incr = ax->scroll.increment;
+ BUG_WARN_MSG(incr == 0, "for device %s\n", dev->name);
+ if (incr == 0)
+ return 0;
if (type != ButtonPress && type != ButtonRelease)
flags |= POINTER_EMULATED;
More information about the xorg-devel