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>
This commit is contained in:
Keith Packard 2012-07-10 23:09:47 -07:00
parent 1bf81af4a6
commit 5a51cb86f3

View File

@ -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 */