summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-10-04 20:46:54 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-10-05 12:28:35 +0200
commit66d0a488979facf43b3e236fe4ac025776b1582b (patch)
tree5c4b71a734a02ab31e6cf575f7867c0f5bebca5f /sc
parentb619f4e67290c6c299e44927b1616a60b5dcf34d (diff)
workaround broken uno implementatiion with ScRangeList
Change-Id: Ied665e59ada98c25651be562c4a2fe54ffd1ec6a Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/rangelst.cxx13
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;
}