diff options
author | Keith Packard <keithp@keithp.com> | 2012-07-10 23:09:47 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-08-06 15:05:38 -0700 |
commit | 5a51cb86f39a6809305c403beea54c3625e36259 (patch) | |
tree | 05e2cca2df9964a2fb9c402558b5ce0bc0f89f70 /hw | |
parent | 1bf81af4a6be1113bcc3b940ab264d5c9e0f0c5d (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.c | 3 |
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 */ |