[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sc/source
Tor Lillqvist
tml at collabora.com
Tue Mar 10 02:16:24 PDT 2015
sc/source/filter/excel/excform8.cxx | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
New commits:
commit 0307413a287b07c08206169e2645261373e19bb1
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Mar 10 00:48:28 2015 +0200
Also relative row references need to wrap around, like fdo#84556 for columns
Change-Id: I07400d6dead66ec437436b5ea8b49491f8048335
Reviewed-on: https://gerrit.libreoffice.org/14823
Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx
index 53354f3..88bd27e 100644
--- a/sc/source/filter/excel/excform8.cxx
+++ b/sc/source/filter/excel/excform8.cxx
@@ -1426,7 +1426,16 @@ void ExcelToSc8::ExcRelToScRel8( sal_uInt16 nRow, sal_uInt16 nC, ScSingleRefData
// R O W
if( bRowRel )
- rSRD.SetRelRow(static_cast<sal_Int16>(nRow));
+ {
+ SCROW nRelRow = static_cast<sal_Int16>(nRow);
+ sal_Int32 nDiff = aEingPos.Row() + nRelRow;
+ if (nDiff < 0)
+ {
+ // relative row references wrap around
+ nRelRow = 65536 + nRelRow;
+ }
+ rSRD.SetRelRow(nRelRow);
+ }
else
rSRD.SetAbsRow(std::min( static_cast<SCROW>(nRow), MAXROW));
}
More information about the Libreoffice-commits
mailing list