diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-10-04 20:46:54 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-10-05 12:28:35 +0200 |
commit | 66d0a488979facf43b3e236fe4ac025776b1582b (patch) | |
tree | 5c4b71a734a02ab31e6cf575f7867c0f5bebca5f | |
parent | b619f4e67290c6c299e44927b1616a60b5dcf34d (diff) |
workaround broken uno implementatiion with ScRangeList
Change-Id: Ied665e59ada98c25651be562c4a2fe54ffd1ec6a
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r-- | sc/source/core/tool/rangelst.cxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx index 19321b5ef4a3..e99e47fc1779 100644 --- a/sc/source/core/tool/rangelst.cxx +++ b/sc/source/core/tool/rangelst.cxx @@ -438,6 +438,9 @@ bool ScRangeList::UpdateReference( } } + if(maRanges.empty()) + return true; + vector<ScRange*>::iterator itr = maRanges.begin(), itrEnd = maRanges.end(); for (; itr != itrEnd; ++itr) { @@ -460,6 +463,16 @@ bool ScRangeList::UpdateReference( pR->aEnd.Set( theCol2, theRow2, theTab2 ); } } + + if(eUpdateRefMode == URM_INSDEL) + { + if(nDx < 0 || nDy < 0) + { + size_t n = maRanges.size(); + Join(*maRanges[n-1], true); + } + } + return bChanged; } |