hw/xfree86: Let xf86Rotate leave the BlockHandler unwrapped when possible

When no shadow frame buffer is needed, the rotate block handler
doesn't need to be called any more. Remove it from the chain.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Keith Packard 2014-04-18 14:24:29 -07:00
parent 79a2733005
commit 3319e7041f

View File

@ -243,9 +243,13 @@ xf86RotateBlockHandler(ScreenPtr pScreen,
xf86RotateRedisplay(pScreen);
(*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
/* cannot avoid re-wrapping until all wrapping is audited */
xf86_config->BlockHandler = pScreen->BlockHandler;
pScreen->BlockHandler = xf86RotateBlockHandler;
/* Re-wrap if we still need this hook */
if (xf86_config->rotation_damage != NULL) {
xf86_config->BlockHandler = pScreen->BlockHandler;
pScreen->BlockHandler = xf86RotateBlockHandler;
} else
xf86_config->BlockHandler = NULL;
}
void