From d8c5dba4d797fc50d7b2b5855f34e2d2e2ad3e4f Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 21 Dec 2006 21:20:43 -0800 Subject: [PATCH] When cleaning duplicate modes, make sure ->Last is reset correctly. When removing the very last mode for a monitor, move the ->Last pointer to the previous list element. --- src/i830_xf86Crtc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/i830_xf86Crtc.c b/src/i830_xf86Crtc.c index bb6c8691..0c482a2e 100644 --- a/src/i830_xf86Crtc.c +++ b/src/i830_xf86Crtc.c @@ -437,7 +437,11 @@ xf86PruneDuplicateMonitorModes (MonPtr Monitor) { next = clone->next; if (xf86ModesEqual (master, clone)) + { + if (Monitor->Last == clone) + Monitor->Last = clone->prev; xf86DeleteMode (&Monitor->Modes, clone); + } } } }