diff --git a/dix/enterleave.c b/dix/enterleave.c index 6d1c24adc..236a9e218 100644 --- a/dix/enterleave.c +++ b/dix/enterleave.c @@ -622,14 +622,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; @@ -668,8 +673,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;