xf86DDCGetModes generates some DisplayMods that are not used and not released after. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99521
Signed-off-by: Xiaogang Chen <xiaogang.c...@amd.com> --- hw/xfree86/modes/xf86EdidModes.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/hw/xfree86/modes/xf86EdidModes.c b/hw/xfree86/modes/xf86EdidModes.c index f0e1e97..915b291 100644 --- a/hw/xfree86/modes/xf86EdidModes.c +++ b/hw/xfree86/modes/xf86EdidModes.c @@ -1201,18 +1201,11 @@ xf86EdidMonitorSet(int scrnIndex, MonPtr Monitor, xf86MonPtr DDC) /* look for last Mode */ Mode = Modes; - while (Mode->next) - Mode = Mode->next; + /*release these video modes that are not used after*/ + while (Mode) { + xf86DeleteMode(&Modes, Mode); + Mode = Modes; + } - /* add to MonPtr */ - if (Monitor->Modes) { - Monitor->Last->next = Modes; - Modes->prev = Monitor->Last; - Monitor->Last = Mode; - } - else { - Monitor->Modes = Modes; - Monitor->Last = Mode; - } } } -- 2.7.4 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel