diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 32608a4..32cb307 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -5641,6 +5641,8 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; RADEONInfoPtr info = RADEONPTR(pScrn); + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); + int i; xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, "RADEONCloseScreen\n"); @@ -5650,6 +5652,13 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen) */ info->accelOn = FALSE; + for (i = 0; i < config->num_crtc; i++) { + xf86CrtcPtr crtc = config->crtc[i]; + RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private; + + radeon_crtc->initialized = FALSE; + } + #ifdef XF86DRI #ifdef DAMAGE if (info->dri && info->dri->pDamage) {