From 37d956e3ac9513b74078882dff489f9b0a7a5a28 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 10 Sep 2012 11:14:20 +1000 Subject: [PATCH] xf86: fix compat output selection for no output GPUs This should work properly with dynamic outputs. Reviewed-by: Dave Airlie Signed-off-by: Dave Airlie --- hw/xfree86/modes/xf86Crtc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index e3eaf5f4c..177f7ac11 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -66,6 +66,7 @@ xf86CrtcConfigInit(ScrnInfoPtr scrn, const xf86CrtcConfigFuncsRec * funcs) config = xnfcalloc(1, sizeof(xf86CrtcConfigRec)); config->funcs = funcs; + config->compat_output = -1; scrn->privates[xf86CrtcConfigPrivateIndex].ptr = config; } @@ -1841,7 +1842,7 @@ SetCompatOutput(xf86CrtcConfigPtr config) if (compat >= 0) { config->compat_output = compat; } - else { + else if (config->compat_output >= 0 && config->compat_output < config->num_output) { /* Don't change the compat output when no valid outputs found */ output = config->output[config->compat_output]; }