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>
This commit is contained in:
		
							parent
							
								
									08fc33042c
								
							
						
					
					
						commit
						a1189fe322
					
				|  | @ -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) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue