summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-11-30 15:55:00 +0000
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2017-12-01 13:15:10 +0100
commit9f5788fec088afbbf9e3168dfdad40c747da0dd6 (patch)
tree1d818f89c43dada29aea84e6fb1e3b66385bdac3
parentd7f27f26ceaed2b307c2bdb9894dca3cb23d51bc (diff)
ofz#4406 limit escher object cell area to calc's limits
Change-Id: I9b9b198f1f96c952692d052a9a527086e453779f Reviewed-on: https://gerrit.libreoffice.org/45615 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r--sc/source/filter/excel/xlescher.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/sc/source/filter/excel/xlescher.cxx b/sc/source/filter/excel/xlescher.cxx
index 8f2919b2f72b..eb70bc590ce7 100644
--- a/sc/source/filter/excel/xlescher.cxx
+++ b/sc/source/filter/excel/xlescher.cxx
@@ -146,10 +146,10 @@ tools::Rectangle XclObjAnchor::GetRect( const XclRoot& rRoot, SCTAB nScTab, MapU
ScDocument& rDoc = rRoot.GetDoc();
double fScale = lclGetTwipsScale( eMapUnit );
tools::Rectangle aRect(
- lclGetXFromCol( rDoc, nScTab, maFirst.mnCol, mnLX, fScale ),
- lclGetYFromRow( rDoc, nScTab, maFirst.mnRow, mnTY, fScale ),
- lclGetXFromCol( rDoc, nScTab, maLast.mnCol, mnRX + 1, fScale ),
- lclGetYFromRow( rDoc, nScTab, maLast.mnRow, mnBY, fScale ) );
+ lclGetXFromCol(rDoc, nScTab, std::min<SCCOL>(maFirst.mnCol, MAXCOL), mnLX, fScale),
+ lclGetYFromRow(rDoc, nScTab, std::min<SCROW>(maFirst.mnRow, MAXROW), mnTY, fScale),
+ lclGetXFromCol(rDoc, nScTab, std::min<SCCOL>(maLast.mnCol, MAXCOL), mnRX + 1, fScale),
+ lclGetYFromRow(rDoc, nScTab, std::min<SCROW>(maLast.mnRow, MAXROW), mnBY, fScale));
// adjust coordinates in mirrored sheets
if( rDoc.IsLayoutRTL( nScTab ) )