diff --git a/src/i830_video.c b/src/i830_video.c index 1ff80a0..45f900c 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -1724,6 +1724,7 @@ i830_covering_crtc (ScrnInfoPtr pScrn, int coverage, best_coverage; int c; BoxRec crtc_box, cover_box; + I830CrtcPrivatePtr intel_crtc; best_crtc = NULL; best_coverage = 0; @@ -1734,6 +1735,12 @@ i830_covering_crtc (ScrnInfoPtr pScrn, for (c = 0; c < xf86_config->num_crtc; c++) { crtc = xf86_config->crtc[c]; + intel_crtc = crtc->driver_private; + + /* If the CRTC is off, treat it as not covering */ + if (intel_crtc->dpms_mode != DPMSModeOn) + continue; + i830_crtc_box (crtc, &crtc_box); i830_box_intersect (&cover_box, &crtc_box, box); coverage = i830_box_area (&cover_box);