summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-07-10 23:09:47 -0700
committerKeith Packard <keithp@keithp.com>2012-08-06 15:05:38 -0700
commit5a51cb86f39a6809305c403beea54c3625e36259 (patch)
tree05e2cca2df9964a2fb9c402558b5ce0bc0f89f70
parent1bf81af4a6be1113bcc3b940ab264d5c9e0f0c5d (diff)
xfree86: When xf86CrtcCloseScreen is called, the randr CRTCs are gone
The RandR CRTC structures are freed when their resource IDs are destroyed during server shut down, which is before the screen is closed. Calling back into RandR with stale pointers just segfaults the server. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Tested-by: Knut Petersen <knut_petersen@t-online.de>
-rw-r--r--hw/xfree86/modes/xf86Crtc.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index dfce1d19f..154f684c4 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -734,9 +734,6 @@ xf86CrtcCloseScreen(ScreenPtr screen)
for (c = 0; c < config->num_crtc; c++) {
xf86CrtcPtr crtc = config->crtc[c];
- if (crtc->randr_crtc->scanout_pixmap)
- RRCrtcDetachScanoutPixmap(crtc->randr_crtc);
-
crtc->randr_crtc = NULL;
}
/* detach any providers */