From 51b32d4984bfa7e4cfc1f3020ca3d4fa0f3cba6b Mon Sep 17 00:00:00 2001 From: Allan Rae Date: Tue, 19 Feb 2002 03:16:10 +0000 Subject: [PATCH] the right fix for the invalid iterators (plural) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3567 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BufferView2.C | 7 ++++++- src/ChangeLog | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/BufferView2.C b/src/BufferView2.C index a59f737df8..35e0a4b1f3 100644 --- a/src/BufferView2.C +++ b/src/BufferView2.C @@ -191,8 +191,13 @@ bool BufferView::removeAutoInsets() if (pit->autoDelete()) { removed = true; pos_type const pos = pit.getPos(); - + par->erase(pos); + // get the next valid iterator position + pit = par->InsetIterator(pos); + // ensure we have a valid end iterator + pend = par->inset_iterator_end(); + if (cur_par == par) { if (cur_pos > pos) --cur_pos; diff --git a/src/ChangeLog b/src/ChangeLog index 055c69a0fe..7c8f0dac53 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-02-19 Allan Rae + + * BufferView2.C (removeAutoInsets): fix remaining freed memory read. + Iterators might be simple to use but they also get invalidated. + 2002-02-18 Angus Leeming * Chktex.C: -- 2.39.5