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]> --- 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
