offapi/com/sun/star/sheet/NameToken.idl | 2 +- sc/source/core/tool/token.cxx | 13 +++++-------- sc/source/ui/unoobj/tokenuno.cxx | 3 +-- 3 files changed, 7 insertions(+), 11 deletions(-)
New commits: commit fac5f2af5190e6da9bedfcdf02426be59ad99166 Author: Eike Rathke <er...@redhat.com> Date: Tue May 3 22:48:14 2016 +0200 NameToken with Sheet instead of boolean Global ... to transport an actual sheet number for other-sheet-local names within names when importing OOXML. Change-Id: I00f2ffe07271c1c2a8ce9e10514e10872396f566 diff --git a/offapi/com/sun/star/sheet/NameToken.idl b/offapi/com/sun/star/sheet/NameToken.idl index 04f6ed2..9b66038 100644 --- a/offapi/com/sun/star/sheet/NameToken.idl +++ b/offapi/com/sun/star/sheet/NameToken.idl @@ -20,7 +20,7 @@ struct NameToken { long Index; - boolean Global; + long Sheet; }; diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index fd16ada..11005ea 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -1219,14 +1219,11 @@ bool ScTokenArray::AddFormulaToken( rToken.Data >>= aTokenData; if ( eOpCode == ocName ) { - /* TODO: new token type with sheet number */ - if (aTokenData.Global) - AddRangeName(aTokenData.Index, -1); - else - bError = true; - /* FIXME: resolve the non-global case to the - * current position's sheet as it implicitly was - * before, currently this is broken. */ + SAL_WARN_IF( aTokenData.Sheet < -1 || std::numeric_limits<sal_Int16>::max() < aTokenData.Sheet, + "sc.core", + "ScTokenArray::AddFormulaToken - NameToken.Sheet out of limits: " << aTokenData.Sheet); + sal_Int16 nSheet = static_cast<sal_Int16>(aTokenData.Sheet); + AddRangeName(aTokenData.Index, nSheet); } else if (eOpCode == ocDBArea) AddDBRange(aTokenData.Index); diff --git a/sc/source/ui/unoobj/tokenuno.cxx b/sc/source/ui/unoobj/tokenuno.cxx index b1800ce..b8b80de 100644 --- a/sc/source/ui/unoobj/tokenuno.cxx +++ b/sc/source/ui/unoobj/tokenuno.cxx @@ -422,8 +422,7 @@ bool ScTokenConversion::ConvertToTokenSequence( const ScDocument& rDoc, { sheet::NameToken aNameToken; aNameToken.Index = static_cast<sal_Int32>( rToken.GetIndex() ); - /* FIXME: we need a new token with sheet number */ - aNameToken.Global = (rToken.GetSheet() < 0); + aNameToken.Sheet = rToken.GetSheet(); rAPI.Data <<= aNameToken; } break; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits