diff options
author | Keith Packard <keithp@keithp.com> | 2015-01-22 22:28:34 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2015-01-23 09:06:41 -0800 |
commit | 3d12941b408de7a3bdc579e34e119f8aa81ea926 (patch) | |
tree | 36b270661c492052fc0708db6efc3248e8b11b73 | |
parent | b3e496c6d21058147de9a11b78860e73c74db3cb (diff) |
drivers/modesetting: Save current BlockHandler on return in msBlockHandler
If the BlockHandler chain is modified while it is active, we need to
re-fetch the current value and store it in our private for use the
next time through.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | hw/xfree86/drivers/modesetting/driver.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c index 1cb0c7c6f..d52517d1a 100644 --- a/hw/xfree86/drivers/modesetting/driver.c +++ b/hw/xfree86/drivers/modesetting/driver.c @@ -538,6 +538,7 @@ msBlockHandler(ScreenPtr pScreen, void *pTimeout, void *pReadmask) pScreen->BlockHandler = ms->BlockHandler; pScreen->BlockHandler(pScreen, pTimeout, pReadmask); + ms->BlockHandler = pScreen->BlockHandler; pScreen->BlockHandler = msBlockHandler; if (pScreen->isGPU) dispatch_slave_dirty(pScreen); |