Kaydet (Commit) 51734600 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

workaround broken uno implementation with ScRangeList in ScCellRangeObj

ScCellRangesBase uses a ScRangeList to keep track of the range but the
ScCellRangeObj class which inherits from it can not deal with more than
one range. This is a temporary workaround for this problem. We need to
think about a better solution for ScCellRangeObj to prevent such
problems in the future.

Change-Id: I4403e55f605267ef99eb6a73302366cf024b3866
üst 342211da
......@@ -434,6 +434,9 @@ bool ScRangeList::UpdateReference(
}
}
if(maRanges.empty())
return true;
iterator itr = maRanges.begin(), itrEnd = maRanges.end();
for (; itr != itrEnd; ++itr)
{
......@@ -456,6 +459,17 @@ bool ScRangeList::UpdateReference(
pR->aEnd.Set( theCol2, theRow2, theTab2 );
}
}
if(eUpdateRefMode == URM_INSDEL)
{
if( nDx < 0 || nDy < 0 )
{
size_t n = maRanges.size();
for(size_t i = n-1; i > 0; --i)
Join(*maRanges[i], true);
}
}
return bChanged;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment