[PATCH (v5) xserver 1/8] Input: Add DeepestSpriteWin macro
Peter Hutterer
peter.hutterer at who-t.net
Thu Jan 20 15:13:13 PST 2011
On Wed, Jan 19, 2011 at 11:11:43PM +0000, Daniel Stone wrote:
> Does what it says on the box: returns the deepest child window in a
> given sprite's trace.
>
> Signed-off-by: Daniel Stone <daniel at fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Cheers,
Peter
> ---
>
> v5: New.
>
> dix/events.c | 4 ++--
> include/inputstr.h | 3 +++
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/dix/events.c b/dix/events.c
> index 07f8b05..5f8ce39 100644
> --- a/dix/events.c
> +++ b/dix/events.c
> @@ -2174,7 +2174,7 @@ MaybeDeliverEventsToClient(WindowPtr pWin, xEvent *pEvents,
>
> static Window FindChildForEvent(SpritePtr pSprite, WindowPtr event)
> {
> - WindowPtr w = pSprite->spriteTrace[pSprite->spriteTraceGood-1];
> + WindowPtr w = DeepestSpriteWin(pSprite);
> Window child = None;
>
> /* If the search ends up past the root should the child field be
> @@ -2591,7 +2591,7 @@ XYToWindow(SpritePtr pSprite, int x, int y)
> else
> pWin = pWin->nextSib;
> }
> - return pSprite->spriteTrace[pSprite->spriteTraceGood-1];
> + return DeepestSpriteWin(pSprite);
> }
>
> /**
> diff --git a/include/inputstr.h b/include/inputstr.h
> index b74ee04..8291577 100644
> --- a/include/inputstr.h
> +++ b/include/inputstr.h
> @@ -244,6 +244,9 @@ typedef struct _SpriteRec {
>
> } SpriteRec;
>
> +#define DeepestSpriteWin(sprite) \
> + ((sprite)->spriteTrace[(sprite)->spriteTraceGood - 1])
> +
> typedef struct _KeyClassRec {
> int sourceid;
> CARD8 down[DOWN_LENGTH];
> --
> 1.7.2.3
>
More information about the xorg-devel
mailing list