summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sna/sna_display.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index a1a87825..c972e316 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -981,6 +981,13 @@ sna_crtc_apply(xf86CrtcPtr crtc)
if (output->crtc != crtc)
continue;
+ /* Skip over any hotunplugged outputs so that we can
+ * recover in cases where the previous mode is now
+ * only partially valid.
+ */
+ if (!to_sna_output(output)->id)
+ continue;
+
DBG(("%s: attaching output '%s' %d [%d] to crtc:%d (pipe %d) (possible crtc:%x, possible clones:%x)\n",
__FUNCTION__, output->name, i, to_connector_id(output),
sna_crtc->id, sna_crtc->pipe,