From 7357dec92c267a6c6fef87fe56efcc01aa90077c Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Sat, 15 Nov 2014 02:00:16 +0100 Subject: fdo#73695 prevent use of invalidated iterator due to re-entrance ... through the UNO backdoor.. While charts are updated there can be chart data listeners in BASIC that in turn modify things such that charts are inserted/removed from the listener chain, invalidating the iterator. If that happens break and bail out instead of crashing. Not ideal, but.. Change-Id: Iefb33d3a96d79caed0ee4e19b73e8f811ef3d937 --- sc/source/core/tool/chartlis.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sc/source/core/tool/chartlis.cxx b/sc/source/core/tool/chartlis.cxx index b5f6709f2223..bf16b3ea2135 100644 --- a/sc/source/core/tool/chartlis.cxx +++ b/sc/source/core/tool/chartlis.cxx @@ -619,8 +619,8 @@ void ScChartListenerCollection::UpdateDirtyCharts() if (meModifiedDuringUpdate == SC_CLCUPDATE_MODIFIED) break; // iterator is invalid - - if (aIdle.IsActive() && !pDoc->IsImportingXML()) + + if (aIdle.IsActive() && !pDoc->IsImportingXML()) break; // one interfered } meModifiedDuringUpdate = SC_CLCUPDATE_NONE; -- cgit