summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-12-29 06:01:27 +0100
committerEike Rathke <erack@redhat.com>2015-01-07 23:38:30 +0000
commitbe9631c2dd65a46f56c45615acd415422ee6a468 (patch)
tree55366725ce841f2446c26065d3e83fb9c2aa86ee
parentc0d269254514274fcb200efc8090e1bb81878757 (diff)
handle relative refs correctly in xls import, fdo#80091
Change-Id: Ia70f96e1d31e71c56f03c828be0a4e49fff4b198 Reviewed-on: https://gerrit.libreoffice.org/13688 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r--sc/source/filter/excel/excform8.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/sc/source/filter/excel/excform8.cxx b/sc/source/filter/excel/excform8.cxx
index 2fdf75eacf90..be5a3ea93749 100644
--- a/sc/source/filter/excel/excform8.cxx
+++ b/sc/source/filter/excel/excform8.cxx
@@ -611,9 +611,12 @@ ConvErr ExcelToSc8::Convert( const ScTokenArray*& rpTokArray, XclImpStream& aIn,
ExcRelToScRel8( nRowFirst, nColFirst, aCRD.Ref1, bRNorSF );
ExcRelToScRel8( nRowLast, nColLast, aCRD.Ref2, bRNorSF );
- if( IsComplColRange( nColFirst, nColLast ) )
+ bool bColRel = aCRD.Ref1.IsColRel() || aCRD.Ref2.IsColRel();
+ bool bRowRel = aCRD.Ref1.IsRowRel() || aCRD.Ref2.IsRowRel();
+
+ if( !bColRel && IsComplColRange( nColFirst, nColLast ) )
SetComplCol( aCRD );
- else if( IsComplRowRange( nRowFirst, nRowLast ) )
+ else if( !bRowRel && IsComplRowRange( nRowFirst, nRowLast ) )
SetComplRow( aCRD );
aStack << aPool.Store( aCRD );