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 <[email protected]>

Reviewed-by: Peter Hutterer <[email protected]>

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
> 
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to