summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-04-18 13:57:55 -0700
committerKeith Packard <keithp@keithp.com>2014-07-17 11:17:20 -0700
commita1189fe322724ab1b524aaad5b700287777252bd (patch)
treeef2f4350442fa5b3d526e716b45d13c4d676f4a5 /mi
parent08fc33042c858568e7244eb9ad25a8d0270754f0 (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.c4
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)