On Tue, Dec 28, 2010 at 05:57:55PM +0000, Daniel Stone wrote: > Add initial validation of acceptable flags for XI2 device events, and > make sure they're swapped. > > Signed-off-by: Daniel Stone <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]> > --- > test/xi2/protocol-eventconvert.c | 12 +++++++++++- > 1 files changed, 11 insertions(+), 1 deletions(-) > > diff --git a/test/xi2/protocol-eventconvert.c > b/test/xi2/protocol-eventconvert.c > index 211cce6..0478c33 100644 > --- a/test/xi2/protocol-eventconvert.c > +++ b/test/xi2/protocol-eventconvert.c > @@ -272,6 +272,7 @@ static void test_values_XIDeviceEvent(DeviceEvent *in, > xXIDeviceEvent *out, > int buttons, valuators; > int i; > unsigned char *ptr; > + uint32_t flagmask = 0; > FP3232 *values; > > if (swap) { > @@ -297,6 +298,7 @@ static void test_values_XIDeviceEvent(DeviceEvent *in, > xXIDeviceEvent *out, > swapl(&out->mods.latched_mods, n); > swapl(&out->mods.locked_mods, n); > swapl(&out->mods.effective_mods, n); > + swapl(&out->flags, n); > } > > g_assert(out->extension == 0); /* IReqCode defaults to 0 */ > @@ -308,7 +310,15 @@ static void test_values_XIDeviceEvent(DeviceEvent *in, > xXIDeviceEvent *out, > g_assert(out->deviceid == in->deviceid); > g_assert(out->sourceid == in->sourceid); > > - g_assert(out->flags == 0); /* FIXME: we don't set the flags yet */ > + switch (in->type) { > + case ET_KeyPress: > + flagmask = XIKeyRepeat; > + break; > + default: > + flagmask = 0; > + break; > + } > + g_assert((out->flags & ~flagmask) == 0); > > g_assert(out->root == in->root); > g_assert(out->event == None); /* set in FixUpEventFromWindow */ > -- > 1.7.2.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
