xorg/driver/xf86-input-fpit - [PATCH] Don't call xf86IsCorePointer.
Peter Hutterer
mailinglists at who-t.net
Sun Feb 3 17:19:51 PST 2008
Paulo Cesar Pereira de Andrade wrote:
>
>
>>From f4d243c7a46c019b6b34f80b33acbee61a30d54d Mon Sep 17 00:00:00 2001
> From: Paulo Cesar Pereira de Andrade <pcpa at mandriva.com.br>
> Date: Wed, 30 Jan 2008 17:10:12 -0200
> Subject: [PATCH] Don't call xf86IsCorePointer.
>
> Only call that function if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0.
>
> This patch is based on the xf86-input-acecad commit
> 253ea9de2321bccede3f0d74ee6a6f6b403e80ae that addresses the same problem.
> ---
> src/xf86Fpit.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
> index 531b0bd..cc30d42 100644
> --- a/src/xf86Fpit.c
> +++ b/src/xf86Fpit.c
> @@ -319,7 +319,11 @@ static void xf86FpitReadInput(LocalDevicePtr local)
> prox = (priv->fpitData[loop] & PROXIMITY_BIT) ? 0 : 1;
> buttons = (priv->fpitData[loop] & BUTTON_BITS);
> device = local->dev;
> +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
> is_core_pointer = xf86IsCorePointer(device);
> +#else
> + is_core_pointer = 1;
> +#endif
>
> xf86FpitConvert(local, 0, 2, x, y, 0, 0, 0, 0, &conv_x, &conv_y);
> xf86XInputSetScreen(local, priv->screen_no, conv_x, conv_y);
this is wrong. is_core_pointer actually needs to be set to 0 to make the
driver work.
better solution would be to initialise is_core_pointer to 0 by default
and then call xf86IsCorePointer if the ABI is good.
Cheers,
Peter
More information about the xorg
mailing list