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

only put bounds in vector if range is outside of copy range, fdo#74041

There are 4 cases of which only two need an entry in the vector. If the
start is before the copy range and if the end is past the end of the
copy range.

Change-Id: Ia88f6891e03257c3321dbfb271be559378e39625
üst 887bc4dd
......@@ -3162,36 +3162,35 @@ void checkBounds(
// No intersections.
return;
if (aAbs.aEnd.Row() <= rCxt.maRange.aEnd.Row())
if (aAbs.aStart.Row() <= rCxt.maRange.aStart.Row())
{
// +-+ <---- top
// | |
// +--+-+--+ <---- boundary row position
// | | | |
// | +-+ |
// | |
// +-------+
// Add offset from the reference top to the cell position.
SCROW nOffset = rCxt.maRange.aStart.Row() - aAbs.aStart.Row();
rBounds.push_back(rPos.Row()+nOffset);
return;
}
// +-+ <---- top
// | |
// +--+-+--+ <---- boundary row position
// | | | |
// | | | |
// +--+-+--+ <---- boundary row position
// | |
// +-+
// Add offset from the reference top to the cell position.
SCROW nOffset = rCxt.maRange.aStart.Row() - aAbs.aStart.Row();
rBounds.push_back(rPos.Row()+nOffset);
// Ditto.
nOffset = rCxt.maRange.aEnd.Row() + 1 - aAbs.aStart.Row();
rBounds.push_back(rPos.Row()+nOffset);
if (aAbs.aEnd.Row() >= rCxt.maRange.aEnd.Row())
{
// only check for end range
// +-------+
// | |
// | | | |
// +--+-+--+ <---- boundary row position
// | |
// +-+
// Ditto.
SCROW nOffset = rCxt.maRange.aEnd.Row() + 1 - aAbs.aStart.Row();
rBounds.push_back(rPos.Row()+nOffset);
}
}
}
......
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