[PATCH 06/42] tests: update for touch support

walter harms wharms at bfs.de
Fri Dec 16 02:56:03 PST 2011



Am 15.12.2011 04:01, schrieb Peter Hutterer:
> Touch event mask must be set for all three event types.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  test/xi2/protocol-xipassivegrabdevice.c |    2 +-
>  test/xi2/protocol-xiselectevents.c      |   38 ++++++++++++++++++++++++------
>  2 files changed, 31 insertions(+), 9 deletions(-)
> 
> diff --git a/test/xi2/protocol-xipassivegrabdevice.c b/test/xi2/protocol-xipassivegrabdevice.c
> index 89ffc3d..b405556 100644
> --- a/test/xi2/protocol-xipassivegrabdevice.c
> +++ b/test/xi2/protocol-xipassivegrabdevice.c
> @@ -180,7 +180,7 @@ static void test_XIPassiveGrabDevice(void)
>      request->deviceid = XIAllMasterDevices;
>  
>      printf("Testing invalid grab types\n");
> -    for (i = XIGrabtypeFocusIn + 1; i < 0xFF; i++)
> +    for (i = XIGrabtypeTouchBegin + 1; i < 0xFF; i++)
>      {
>          request->grab_type = i;
>          request_XIPassiveGrabDevice(&client_request, request, BadValue, request->grab_type);
> diff --git a/test/xi2/protocol-xiselectevents.c b/test/xi2/protocol-xiselectevents.c
> index 4eaf839..0390858 100644
> --- a/test/xi2/protocol-xiselectevents.c
> +++ b/test/xi2/protocol-xiselectevents.c
> @@ -125,6 +125,28 @@ static void request_XISelectEvent(xXISelectEventsReq *req, int error)
>      assert(rc == error);
>  }
>  
> +static void _set_bit(unsigned char *bits, int bit)
> +{
> +    SetBit(bits, bit);
> +    if (bit >= XI_TouchBegin && bit <= XI_TouchOwnership)
> +    {
> +        SetBit(bits, XI_TouchBegin);
> +        SetBit(bits, XI_TouchUpdate);
> +        SetBit(bits, XI_TouchEnd);
> +    }
> +}

So far i understand you want to avoid setting already set bits.
Would it hurt to set them again ?



> +
> +static void _clear_bit(unsigned char *bits, int bit)
> +{
> +    ClearBit(bits, bit);
> +    if (bit >= XI_TouchBegin && bit <= XI_TouchOwnership)
> +    {
> +        ClearBit(bits, XI_TouchBegin);
> +        ClearBit(bits, XI_TouchUpdate);
> +        ClearBit(bits, XI_TouchEnd);
> +    }
> +}
> +

The naming is unfortunate.

just my two cents,

re,
 wh


>  static void request_XISelectEvents_masks(xXISelectEventsReq *req)
>  {
>      int i, j;
> @@ -157,9 +179,9 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
>          memset(bits, 0, mask->mask_len * 4);
>          for (j = 0; j <= XI2LASTEVENT; j++)
>          {
> -            SetBit(bits, j);
> +            _set_bit(bits, j);
>              request_XISelectEvent(req, Success);
> -            ClearBit(bits, j);
> +            _clear_bit(bits, j);
>          }
>  
>          /* Test 2:
> @@ -173,7 +195,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
>  
>          for (j = 0; j <= XI2LASTEVENT; j++)
>          {
> -            SetBit(bits, j);
> +            _set_bit(bits, j);
>              request_XISelectEvent(req, Success);
>          }
>  
> @@ -187,9 +209,9 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
>  
>          for (j = XI2LASTEVENT + 1; j < mask->mask_len * 4; j++)
>          {
> -            SetBit(bits, j);
> +            _set_bit(bits, j);
>              request_XISelectEvent(req, BadValue);
> -            ClearBit(bits, j);
> +            _clear_bit(bits, j);
>          }
>  
>          /* Test 4:
> @@ -200,7 +222,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
>          memset(bits, 0, mask->mask_len * 4);
>          for (j = 0; j <= XI2LASTEVENT; j++)
>          {
> -            SetBit(bits, j);
> +            _set_bit(bits, j);
>              request_XISelectEvent(req, Success);
>          }
>  
> @@ -227,8 +249,8 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
>          mask->mask_len = (nmasks + 3)/4;
>          memset(bits, 0, mask->mask_len * 4);
>          for (j = 0; j <= XI2LASTEVENT; j++)
> -            SetBit(bits, j);
> -        ClearBit(bits, XI_HierarchyChanged);
> +            _set_bit(bits, j);
> +        _clear_bit(bits, XI_HierarchyChanged);
>          for (j = 1; j < 6; j++)
>          {
>              mask->deviceid = j;


More information about the xorg-devel mailing list