diff options
author | Eike Rathke <erack@redhat.com> | 2014-11-15 02:00:16 +0100 |
---|---|---|
committer | Tobias Madl <tobias.madl.dev@gmail.com> | 2014-12-09 12:35:09 +0000 |
commit | 7357dec92c267a6c6fef87fe56efcc01aa90077c (patch) | |
tree | 68849e6551131b41654b1721a14b8e579cb03c45 | |
parent | c7e16c28618457fe53fb5abb20fb8783bda66e87 (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.cxx | 4 |
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; |