diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-06-21 20:11:27 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-06-24 16:51:41 -0400 |
commit | 2c92a92e2fa2503f0381b89f316f982eda580b6e (patch) | |
tree | bf0345cbbad0edc93134b94135d05c78a323f755 /sc/inc/dociter.hxx | |
parent | cf02151987b19b12ca0be463732765bd35f54028 (diff) |
Prevent crash during on-line spell checking.
The new ScHorizontalCellIterator internally uses iterators for each
column to track positions. This means that, if a cell value in the iteration
range chnages while the iteration is on-going, those internal iterators
get invalidated. Allow the client code to rehash the iterators when modifying
a cell content during iteration.
Having said that, it's best not to modify cells during iteration.
Change-Id: Ida453d4f883e1fbcbab4eb0401e37fea8c0b901d
Diffstat (limited to 'sc/inc/dociter.hxx')
-rw-r--r-- | sc/inc/dociter.hxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/inc/dociter.hxx b/sc/inc/dociter.hxx index 2452a6083d93..9458aaef50ef 100644 --- a/sc/inc/dociter.hxx +++ b/sc/inc/dociter.hxx @@ -441,6 +441,13 @@ public: /// Set a(nother) sheet and (re)init. void SetTab( SCTAB nTab ); + /** + * When modifying a cell while still in iteration, call this to re-fetch + * the column iterators used internally because the old iterators have + * been invalidated. + */ + void RehashCol( SCCOL nCol ); + private: void Advance(); }; |