forked from pool/xorg-x11-server
de140e0677
Copy from X11:XOrg/xorg-x11-server based on submit request 19080 from user sndirsch OBS-URL: https://build.opensuse.org/request/show/19080 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=138
20 lines
967 B
Diff
20 lines
967 B
Diff
Index: xorg-server-1.6.3.901/hw/xfree86/modes/xf86Crtc.c
|
|
===================================================================
|
|
--- xorg-server-1.6.3.901.orig/hw/xfree86/modes/xf86Crtc.c
|
|
+++ xorg-server-1.6.3.901/hw/xfree86/modes/xf86Crtc.c
|
|
@@ -2800,7 +2800,13 @@ xf86OutputSetEDID (xf86OutputPtr output,
|
|
for (i = 0; i < 4; i++) {
|
|
if (edid_mon->det_mon[i].type == DT &&
|
|
edid_mon->det_mon[i].section.d_timings.h_size != 0 &&
|
|
- edid_mon->det_mon[i].section.d_timings.v_size != 0)
|
|
+ edid_mon->det_mon[i].section.d_timings.v_size != 0 &&
|
|
+ /* some sanity checking for aspect ration */
|
|
+ ((edid_mon->det_mon[i].section.d_timings.h_size /
|
|
+ edid_mon->det_mon[i].section.d_timings.v_size) < 2) &&
|
|
+ ((edid_mon->det_mon[i].section.d_timings.v_size /
|
|
+ edid_mon->det_mon[i].section.d_timings.h_size) < 2)
|
|
+ )
|
|
{
|
|
output->mm_width = edid_mon->det_mon[i].section.d_timings.h_size;
|
|
output->mm_height = edid_mon->det_mon[i].section.d_timings.v_size;
|