diff --git a/dix/enterleave.c b/dix/enterleave.c index cb6209c1d..f12e8e1ed 100644 --- a/dix/enterleave.c +++ b/dix/enterleave.c @@ -624,14 +624,19 @@ FixDeviceValuator(DeviceIntPtr dev, deviceValuator * ev, ValuatorClassPtr v, switch (ev->num_valuators) { case 6: ev->valuator5 = v->axisVal[first + 5]; + /* fallthrough */ case 5: ev->valuator4 = v->axisVal[first + 4]; + /* fallthrough */ case 4: ev->valuator3 = v->axisVal[first + 3]; + /* fallthrough */ case 3: ev->valuator2 = v->axisVal[first + 2]; + /* fallthrough */ case 2: ev->valuator1 = v->axisVal[first + 1]; + /* fallthrough */ case 1: ev->valuator0 = v->axisVal[first]; break; @@ -670,8 +675,10 @@ FixDeviceStateNotify(DeviceIntPtr dev, deviceStateNotify * ev, KeyClassPtr k, switch (ev->num_valuators) { case 3: ev->valuator2 = v->axisVal[first + 2]; + /* fallthrough */ case 2: ev->valuator1 = v->axisVal[first + 1]; + /* fallthrough */ case 1: ev->valuator0 = v->axisVal[first]; break;