summaryrefslogtreecommitdiff
path: root/hw
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 /hw
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>
Diffstat (limited to 'hw')
-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 */