The EDID processing regards physical dimensions of 0mm x 0mm as invalid. Previously the old values for height and width would be preserved if none of the physical dimension specifications in the new EDID were considered valid.
This will come up in particular if first a monitor is connected to an output, and then a projector is connected. Since projectors generally report physical dimensions of 0mm x 0mm, this would result in the projector claiming to have the physical dimensions of the monitor. Signed-off-by: Evan Broder <[email protected]> --- hw/xfree86/modes/xf86Crtc.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index c4470c3..47d3ad1 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -3016,6 +3016,8 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon) free(output->MonInfo); output->MonInfo = edid_mon; + output->mm_width = 0; + output->mm_height = 0; if (debug_modes) { xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n", -- 1.7.1 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
