diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-11-30 15:55:00 +0000 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2017-12-01 13:15:10 +0100 |
commit | 9f5788fec088afbbf9e3168dfdad40c747da0dd6 (patch) | |
tree | 1d818f89c43dada29aea84e6fb1e3b66385bdac3 | |
parent | d7f27f26ceaed2b307c2bdb9894dca3cb23d51bc (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.cxx | 8 |
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 ) ) |