summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-11-15 02:00:16 +0100
committerTobias Madl <tobias.madl.dev@gmail.com>2014-12-09 12:35:09 +0000
commit7357dec92c267a6c6fef87fe56efcc01aa90077c (patch)
tree68849e6551131b41654b1721a14b8e579cb03c45
parentc7e16c28618457fe53fb5abb20fb8783bda66e87 (diff)
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
-rw-r--r--sc/source/core/tool/chartlis.cxx4
1 files 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;