From 09bf64d69d97172f22fe08eb495bf50f920ae9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Tue, 31 May 2016 11:11:21 +0300 Subject: [PATCH] sna: Avoid clobbering output physical size with xf86OutputSetEDID() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ville Syrjälä --- src/sna/sna_display.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 10d33f2..57de410 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -3576,6 +3576,7 @@ sna_output_attach_edid(xf86OutputPtr output) { struct sna *sna = to_sna(output->scrn); struct sna_output *sna_output = output->driver_private; + unsigned old_mm_width, old_mm_height; struct drm_mode_get_blob blob; void *old, *raw = NULL; xf86MonPtr mon = NULL; @@ -3678,12 +3679,17 @@ skip_read: } done: + output = sna_output->base; + old_mm_width = output->mm_width; + old_mm_height = output->mm_height; sna_output_set_parsed_edid(output, mon); if (raw) { sna_output->edid_raw = raw; sna_output->edid_len = blob.length; sna_output->edid_blob_id = blob.blob_id; } + output->mm_width = old_mm_width; + output->mm_height = old_mm_height; } static void -- 2.7.4