diff options
author | Keith Packard <keithp@keithp.com> | 2014-04-18 13:57:55 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-07-17 11:17:20 -0700 |
commit | a1189fe322724ab1b524aaad5b700287777252bd (patch) | |
tree | ef2f4350442fa5b3d526e716b45d13c4d676f4a5 /mi | |
parent | 08fc33042c858568e7244eb9ad25a8d0270754f0 (diff) |
mi: Fix block handler wrapping in miSprite
miSpriteBlockHandler was leaving the BlockHandler wrapped until just
before calling any nested block handler. If any code executed before
that added or removed block handlers, the wrapping chain would have
been broken.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'mi')
-rw-r--r-- | mi/misprite.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mi/misprite.c b/mi/misprite.c index eea731a15..68a49be1e 100644 --- a/mi/misprite.c +++ b/mi/misprite.c @@ -520,6 +520,8 @@ miSpriteBlockHandler(ScreenPtr pScreen, void *pTimeout, miCursorInfoPtr pCursorInfo; Bool WorkToDo = FALSE; + SCREEN_PROLOGUE(pPriv, pScreen, BlockHandler); + for (pDev = inputInfo.devices; pDev; pDev = pDev->next) { if (DevHasCursor(pDev)) { pCursorInfo = MISPRITE(pDev); @@ -543,8 +545,6 @@ miSpriteBlockHandler(ScreenPtr pScreen, void *pTimeout, } } - SCREEN_PROLOGUE(pPriv, pScreen, BlockHandler); - (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask); if (WorkToDo) |