ooo-build r15355 - in trunk: . patches/dev300



Author: kyoshida
Date: Tue Feb 17 17:52:03 2009
New Revision: 15355
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15355&view=rev

Log:
2009-02-17  Kohei Yoshida  <kyoshida novell com>

	* patches/dev300/chart-odf-always-calc-a1.diff: handle old range syntax
	in chart ranges, to correctly load chart objects that were generated by
	older versions of OOo. (n#476293)


Modified:
   trunk/ChangeLog
   trunk/patches/dev300/chart-odf-always-calc-a1.diff

Modified: trunk/patches/dev300/chart-odf-always-calc-a1.diff
==============================================================================
--- trunk/patches/dev300/chart-odf-always-calc-a1.diff	(original)
+++ trunk/patches/dev300/chart-odf-always-calc-a1.diff	Tue Feb 17 17:52:03 2009
@@ -1,5 +1,5 @@
 diff --git sc/inc/rangeutl.hxx sc/inc/rangeutl.hxx
-index 7b5d77b..9657be0 100644
+index 7b5d77b..f83327c 100644
 --- sc/inc/rangeutl.hxx
 +++ sc/inc/rangeutl.hxx
 @@ -38,6 +38,11 @@
@@ -127,7 +127,7 @@
  							sal_uInt16 nFormatFlags = (SCA_VALID | SCA_TAB_3D) );
  };
 diff --git sc/source/core/tool/rangeutl.cxx sc/source/core/tool/rangeutl.cxx
-index 55a18b0..76f6e26 100644
+index 55a18b0..5e2c80c 100644
 --- sc/source/core/tool/rangeutl.cxx
 +++ sc/source/core/tool/rangeutl.cxx
 @@ -456,6 +456,7 @@ sal_Bool ScRangeStringConverter::GetAddressFromString(
@@ -410,10 +410,10 @@
  	rString = sRangeListStr;
  }
 diff --git sc/source/filter/excel/xechart.cxx sc/source/filter/excel/xechart.cxx
-index 7e48666..48f1029 100644
+index d986b48..457f5e6 100644
 --- sc/source/filter/excel/xechart.cxx
 +++ sc/source/filter/excel/xechart.cxx
-@@ -678,7 +678,8 @@ sal_uInt16 XclExpChSourceLink::ConvertDataSequence( Reference< XDataSequence > x
+@@ -679,7 +679,8 @@ sal_uInt16 XclExpChSourceLink::ConvertDataSequence( Reference< XDataSequence > x
      {
          OUString aRangeRepr = xDataSeq->getSourceRangeRepresentation();
          ScRangeList aScRanges;
@@ -424,7 +424,7 @@
              // split 3-dimensional ranges into single sheets
              ScRangeList aNewScRanges;
 diff --git sc/source/filter/excel/xichart.cxx sc/source/filter/excel/xichart.cxx
-index 473d1b0..255c7e7 100644
+index 7976e8a..530aeca 100644
 --- sc/source/filter/excel/xichart.cxx
 +++ sc/source/filter/excel/xichart.cxx
 @@ -695,7 +695,8 @@ Reference< XDataSequence > XclImpChSourceLink::CreateDataSequence( const OUStrin
@@ -438,7 +438,7 @@
          // create the data sequence
          try
 diff --git sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
-index 1213a43..a510dba 100644
+index 1213a43..0d01656 100644
 --- sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
 +++ sc/source/filter/xml/XMLChangeTrackingExportHelper.cxx
 @@ -395,7 +395,7 @@ void ScChangeTrackingExportHelper::WriteFormulaCell(const ScBaseCell* pCell, con
@@ -451,7 +451,7 @@
          const formula::FormulaGrammar::Grammar eGrammar = pDoc->GetStorageGrammar();
          sal_uInt16 nNamespacePrefix = (eGrammar == formula::FormulaGrammar::GRAM_ODFF ? XML_NAMESPACE_OF : XML_NAMESPACE_OOOC);
 diff --git sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
-index d48f31d..407df3c 100644
+index d48f31d..f89f89d 100644
 --- sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
 +++ sc/source/filter/xml/XMLChangeTrackingImportHelper.cxx
 @@ -88,7 +88,7 @@ ScBaseCell* ScMyCellInfo::CreateCell(ScDocument* pDoc)
@@ -464,7 +464,7 @@
  			static_cast<ScFormulaCell*>(pCell)->SetMatColsRows(static_cast<SCCOL>(nMatrixCols), static_cast<SCROW>(nMatrixRows));
  		}
 diff --git sc/source/filter/xml/XMLConsolidationContext.cxx sc/source/filter/xml/XMLConsolidationContext.cxx
-index e04ad00..af8d9f7 100644
+index e04ad00..478d4fc 100644
 --- sc/source/filter/xml/XMLConsolidationContext.cxx
 +++ sc/source/filter/xml/XMLConsolidationContext.cxx
 @@ -84,7 +84,7 @@ ScXMLConsolidationContext::ScXMLConsolidationContext(
@@ -486,7 +486,7 @@
  					bError = sal_True;		//! handle error
  				}
 diff --git sc/source/filter/xml/XMLDetectiveContext.cxx sc/source/filter/xml/XMLDetectiveContext.cxx
-index 5abc4e2..6ef23b9 100644
+index 5abc4e2..8eb8b03 100644
 --- sc/source/filter/xml/XMLDetectiveContext.cxx
 +++ sc/source/filter/xml/XMLDetectiveContext.cxx
 @@ -157,7 +157,7 @@ ScXMLDetectiveHighlightedContext::ScXMLDetectiveHighlightedContext(
@@ -499,7 +499,7 @@
  			}
  			break;
 diff --git sc/source/filter/xml/XMLExportDataPilot.cxx sc/source/filter/xml/XMLExportDataPilot.cxx
-index 79c505e..3e2b31e 100644
+index 79c505e..0227b44 100644
 --- sc/source/filter/xml/XMLExportDataPilot.cxx
 +++ sc/source/filter/xml/XMLExportDataPilot.cxx
 @@ -204,7 +204,7 @@ void ScXMLExportDataPilot::WriteDPFilter(const ScQueryParam& aQueryParam)
@@ -539,7 +539,7 @@
  							SvXMLElementExport aElemSCR(rExport, XML_NAMESPACE_TABLE, XML_SOURCE_CELL_RANGE, sal_True, sal_True);
  							rExport.CheckAttrList();
 diff --git sc/source/filter/xml/XMLExportDatabaseRanges.cxx sc/source/filter/xml/XMLExportDatabaseRanges.cxx
-index 927ff68..38637c2 100644
+index 927ff68..ae7d11c 100644
 --- sc/source/filter/xml/XMLExportDatabaseRanges.cxx
 +++ sc/source/filter/xml/XMLExportDatabaseRanges.cxx
 @@ -290,7 +290,7 @@ void ScXMLExportDatabaseRanges::WriteFilterDescriptor(const uno::Reference <shee
@@ -579,7 +579,7 @@
  							ScDBCollection* pDBCollection = pDoc->GetDBCollection();
  							sal_uInt16 nIndex;
 diff --git sc/source/filter/xml/XMLStylesExportHelper.cxx sc/source/filter/xml/XMLStylesExportHelper.cxx
-index deb1e33..b9354c3 100644
+index deb1e33..7c23cd4 100644
 --- sc/source/filter/xml/XMLStylesExportHelper.cxx
 +++ sc/source/filter/xml/XMLStylesExportHelper.cxx
 @@ -306,7 +306,7 @@ rtl::OUString ScMyValidationsContainer::GetCondition(ScXMLExport& rExport, const
@@ -592,7 +592,7 @@
  }
  
 diff --git sc/source/filter/xml/XMLTableShapeImportHelper.cxx sc/source/filter/xml/XMLTableShapeImportHelper.cxx
-index 7f9fb3f..9546914 100644
+index 7f9fb3f..ddb902b 100644
 --- sc/source/filter/xml/XMLTableShapeImportHelper.cxx
 +++ sc/source/filter/xml/XMLTableShapeImportHelper.cxx
 @@ -106,7 +106,7 @@ void XMLTableShapeImportHelper::finishShape(
@@ -605,7 +605,7 @@
  				    else if (IsXMLToken(aLocalName, XML_END_X))
  					    static_cast<ScXMLImport&>(mrImporter).GetMM100UnitConverter().convertMeasure(nEndX, rValue);
 diff --git sc/source/filter/xml/XMLTableShapeResizer.cxx sc/source/filter/xml/XMLTableShapeResizer.cxx
-index f5ab80c..d3be522 100644
+index f5ab80c..0751be4 100644
 --- sc/source/filter/xml/XMLTableShapeResizer.cxx
 +++ sc/source/filter/xml/XMLTableShapeResizer.cxx
 @@ -75,7 +75,7 @@ void ScMyShapeResizer::CreateChartListener(ScDocument* pDoc,
@@ -618,7 +618,7 @@
  					{
  						ScChartListener* pCL(new ScChartListener(rName, pDoc, aRangeListRef ));
 diff --git sc/source/filter/xml/xmldpimp.cxx sc/source/filter/xml/xmldpimp.cxx
-index 9d79e15..457e7d0 100644
+index 9d79e15..9dfcd8c 100644
 --- sc/source/filter/xml/xmldpimp.cxx
 +++ sc/source/filter/xml/xmldpimp.cxx
 @@ -175,7 +175,7 @@ ScXMLDataPilotTableContext::ScXMLDataPilotTableContext( ScXMLImport& rImport,
@@ -649,7 +649,7 @@
  			}
  			break;
 diff --git sc/source/filter/xml/xmldrani.cxx sc/source/filter/xml/xmldrani.cxx
-index bf8219c..f0ab030 100644
+index bf8219c..dfc87cc 100644
 --- sc/source/filter/xml/xmldrani.cxx
 +++ sc/source/filter/xml/xmldrani.cxx
 @@ -292,7 +292,7 @@ void ScXMLDatabaseRangeContext::EndElement()
@@ -662,7 +662,7 @@
  					sal_Bool bInsert(sal_True);
  					try
 diff --git sc/source/filter/xml/xmlexprt.cxx sc/source/filter/xml/xmlexprt.cxx
-index 5c7a39a..207b685 100644
+index 966a1a5..09896a1 100644
 --- sc/source/filter/xml/xmlexprt.cxx
 +++ sc/source/filter/xml/xmlexprt.cxx
 @@ -1423,7 +1423,7 @@ void ScXMLExport::GetColumnRowHeader(sal_Bool& rHasColumnHeader, table::CellRang
@@ -674,7 +674,7 @@
  	}
  }
  
-@@ -2665,7 +2665,7 @@ void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
+@@ -2688,7 +2688,7 @@ void ScXMLExport::WriteShapes(const ScMyCell& rMyCell)
  					Rectangle aEndRec(pDoc->GetMMRect(aItr->aEndAddress.Col(), aItr->aEndAddress.Row(),
  						aItr->aEndAddress.Col(), aItr->aEndAddress.Row(), aItr->aEndAddress.Tab()));
  					rtl::OUString sEndAddress;
@@ -683,7 +683,7 @@
  					AddAttribute(XML_NAMESPACE_TABLE, XML_END_CELL_ADDRESS, sEndAddress);
                      if (bNegativePage)
                          aEndPoint.X = -aEndRec.Right();
-@@ -2895,7 +2895,7 @@ void ScXMLExport::WriteDetective( const ScMyCell& rMyCell )
+@@ -2918,7 +2918,7 @@ void ScXMLExport::WriteDetective( const ScMyCell& rMyCell )
  				{
  					if( (aObjItr->eObjType == SC_DETOBJ_ARROW) || (aObjItr->eObjType == SC_DETOBJ_TOOTHERTAB))
  					{
@@ -692,7 +692,7 @@
  						AddAttribute( XML_NAMESPACE_TABLE, XML_CELL_RANGE_ADDRESS, sString );
  					}
  					ScXMLConverter::GetStringFromDetObjType( sString, aObjItr->eObjType );
-@@ -3286,7 +3286,7 @@ void ScXMLExport::WriteScenario()
+@@ -3309,7 +3309,7 @@ void ScXMLExport::WriteScenario()
  		AddAttribute(XML_NAMESPACE_TABLE, XML_IS_ACTIVE, aBuffer.makeStringAndClear());
  		const ScRangeList* pRangeList = pDoc->GetScenarioRanges(static_cast<SCTAB>(nCurrentTable));
  		rtl::OUString sRangeListStr;
@@ -701,7 +701,7 @@
  		AddAttribute(XML_NAMESPACE_TABLE, XML_SCENARIO_RANGES, sRangeListStr);
  		if (sComment.Len())
  			AddAttribute(XML_NAMESPACE_TABLE, XML_COMMENT, rtl::OUString(sComment));
-@@ -3328,10 +3328,10 @@ void ScXMLExport::WriteLabelRanges( const uno::Reference< container::XIndexAcces
+@@ -3351,10 +3351,10 @@ void ScXMLExport::WriteLabelRanges( const uno::Reference< container::XIndexAcces
  		{
  			OUString sRangeStr;
  			table::CellRangeAddress aCellRange( xRange->getLabelArea() );
@@ -714,7 +714,7 @@
  			AddAttribute( XML_NAMESPACE_TABLE, XML_DATA_CELL_RANGE_ADDRESS, sRangeStr );
  			AddAttribute( XML_NAMESPACE_TABLE, XML_ORIENTATION, bColumn ? XML_COLUMN : XML_ROW );
  			SvXMLElementExport aElem( *this, XML_NAMESPACE_TABLE, XML_LABEL_RANGE, sal_True, sal_True );
-@@ -3372,7 +3372,7 @@ void ScXMLExport::WriteNamedExpressions(const com::sun::star::uno::Reference <co
+@@ -3395,7 +3395,7 @@ void ScXMLExport::WriteNamedExpressions(const com::sun::star::uno::Reference <co
  
  								OUString sOUBaseCellAddress;
  								ScRangeStringConverter::GetStringFromAddress( sOUBaseCellAddress,
@@ -723,7 +723,7 @@
  								AddAttribute(XML_NAMESPACE_TABLE, XML_BASE_CELL_ADDRESS, sOUBaseCellAddress);
  
  								sal_uInt16 nRangeIndex;
-@@ -3646,10 +3646,10 @@ void ScXMLExport::WriteConsolidation()
+@@ -3669,10 +3669,10 @@ void ScXMLExport::WriteConsolidation()
  
  			sStrData = OUString();
  			for( sal_Int32 nIndex = 0; nIndex < pCons->nDataAreaCount; ++nIndex )
@@ -736,7 +736,7 @@
  			AddAttribute( XML_NAMESPACE_TABLE, XML_TARGET_CELL_ADDRESS, sStrData );
  
  			if( pCons->bByCol && !pCons->bByRow )
-@@ -3719,7 +3719,7 @@ void ScXMLExport::GetChangeTrackViewSettings(uno::Sequence<beans::PropertyValue>
+@@ -3742,7 +3742,7 @@ void ScXMLExport::GetChangeTrackViewSettings(uno::Sequence<beans::PropertyValue>
  				pChangeProps[SC_SHOW_CHANGES_BY_RANGES].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ShowChangesByRanges"));
  				pChangeProps[SC_SHOW_CHANGES_BY_RANGES].Value <<= pViewSettings->HasRange();
  				rtl::OUString sRangeList;
@@ -746,7 +746,7 @@
  				pChangeProps[SC_SHOW_CHANGES_BY_RANGES_LIST].Value <<= sRangeList;
  
 diff --git sc/source/filter/xml/xmlfilti.cxx sc/source/filter/xml/xmlfilti.cxx
-index fabfb5c..01e44a6 100644
+index fabfb5c..6e29479 100644
 --- sc/source/filter/xml/xmlfilti.cxx
 +++ sc/source/filter/xml/xmlfilti.cxx
 @@ -84,7 +84,7 @@ ScXMLFilterContext::ScXMLFilterContext( ScXMLImport& rImport,
@@ -786,10 +786,10 @@
  			}
  			break;
 diff --git sc/source/filter/xml/xmlimprt.cxx sc/source/filter/xml/xmlimprt.cxx
-index ef60730..1702bcc 100644
+index 59e279e..db5ebfc 100644
 --- sc/source/filter/xml/xmlimprt.cxx
 +++ sc/source/filter/xml/xmlimprt.cxx
-@@ -2124,7 +2124,7 @@ void ScXMLImport::SetChangeTrackingViewSettings(const com::sun::star::uno::Seque
+@@ -2179,7 +2179,7 @@ void ScXMLImport::SetChangeTrackingViewSettings(const com::sun::star::uno::Seque
                      if ((rChangeProps[i].Value >>= sRanges) && sRanges.getLength())
                      {
                          ScRangeList aRangeList;
@@ -798,7 +798,7 @@
                          pViewSettings->SetTheRangeList(aRangeList);
                      }
                  }
-@@ -2623,8 +2623,8 @@ void ScXMLImport::SetLabelRanges()
+@@ -2678,8 +2678,8 @@ void ScXMLImport::SetLabelRanges()
                      sal_Int32 nOffset1(0);
                      sal_Int32 nOffset2(0);
  
@@ -809,7 +809,7 @@
                      {
                          if ( (*aItr)->bColumnOrientation )
                              xColRanges->addNew( aLabelRange, aDataRange );
-@@ -2659,7 +2659,7 @@ void ScXMLImport::SetNamedRanges()
+@@ -2714,7 +2714,7 @@ void ScXMLImport::SetNamedRanges()
                  {
                      sal_Int32 nOffset(0);
                      if (ScRangeStringConverter::GetAddressFromString(
@@ -818,7 +818,7 @@
                      {
                          try
                          {
-@@ -2700,7 +2700,7 @@ void ScXMLImport::SetNamedRanges()
+@@ -2755,7 +2755,7 @@ void ScXMLImport::SetNamedRanges()
                  {
                      sal_Int32 nOffset(0);
                      if (ScRangeStringConverter::GetAddressFromString(
@@ -828,7 +828,7 @@
                          uno::Reference <sheet::XNamedRange> xNamedRange(xNamedRanges->getByName((*aItr)->sName), uno::UNO_QUERY);
                          if (xNamedRange.is())
 diff --git sc/source/filter/xml/xmlsceni.cxx sc/source/filter/xml/xmlsceni.cxx
-index 525c6de..fe17351 100644
+index 525c6de..566c510 100644
 --- sc/source/filter/xml/xmlsceni.cxx
 +++ sc/source/filter/xml/xmlsceni.cxx
 @@ -114,7 +114,7 @@ ScXMLTableScenarioContext::ScXMLTableScenarioContext(
@@ -841,7 +841,7 @@
  			break;
  			case XML_TOK_TABLE_SCENARIO_ATTR_COMMENT:
 diff --git sc/source/filter/xml/xmlsorti.cxx sc/source/filter/xml/xmlsorti.cxx
-index a2cddb8..b653a7f 100644
+index a2cddb8..fa65d38 100644
 --- sc/source/filter/xml/xmlsorti.cxx
 +++ sc/source/filter/xml/xmlsorti.cxx
 @@ -93,7 +93,7 @@ ScXMLSortContext::ScXMLSortContext( ScXMLImport& rImport,
@@ -854,10 +854,10 @@
  					ScUnoConversion::FillApiAddress( aOutputPosition, aScRange.aStart );
  					bCopyOutputData = sal_True;
 diff --git sc/source/filter/xml/xmlstyle.cxx sc/source/filter/xml/xmlstyle.cxx
-index 99550dd..b3af684 100644
+index 6ef1632..555962d 100644
 --- sc/source/filter/xml/xmlstyle.cxx
 +++ sc/source/filter/xml/xmlstyle.cxx
-@@ -707,8 +707,9 @@ void ScXMLAutoStylePoolP::exportStyleContent(
+@@ -708,8 +708,9 @@ void ScXMLAutoStylePoolP::exportStyleContent(
  											    rScXMLExport.AddAttribute(XML_NAMESPACE_STYLE, XML_CONDITION, sCondition);
                                                  rScXMLExport.AddAttribute(XML_NAMESPACE_STYLE, XML_APPLY_STYLE_NAME, rScXMLExport.EncodeStyleName( sStyleName ));
  											    OUString sOUBaseAddress;
@@ -868,7 +868,7 @@
  											    rScXMLExport.AddAttribute(XML_NAMESPACE_STYLE, XML_BASE_CELL_ADDRESS, sOUBaseAddress);
  											    SvXMLElementExport aMElem(rScXMLExport, XML_NAMESPACE_STYLE, XML_MAP, sal_True, sal_True);
  										    }
-@@ -761,7 +762,7 @@ void ScXMLAutoStylePoolP::exportStyleContent(
+@@ -762,7 +763,7 @@ void ScXMLAutoStylePoolP::exportStyleContent(
  											    rScXMLExport.AddAttribute(XML_NAMESPACE_STYLE, XML_APPLY_STYLE_NAME, rScXMLExport.EncodeStyleName( sStyleName ));
  											    OUString sOUBaseAddress;
  											    ScRangeStringConverter::GetStringFromAddress( sOUBaseAddress,
@@ -878,7 +878,7 @@
  											    SvXMLElementExport aMElem(rScXMLExport, XML_NAMESPACE_STYLE, XML_MAP, sal_True, sal_True);
  										    }
 diff --git sc/source/filter/xml/xmltabi.cxx sc/source/filter/xml/xmltabi.cxx
-index f665b56..8b081be 100644
+index f665b56..fc09927 100644
 --- sc/source/filter/xml/xmltabi.cxx
 +++ sc/source/filter/xml/xmltabi.cxx
 @@ -331,7 +331,7 @@ void ScXMLTableContext::EndElement()
@@ -891,7 +891,7 @@
  			}
  		}
 diff --git sc/source/ui/unoobj/chart2uno.cxx sc/source/ui/unoobj/chart2uno.cxx
-index 763cc1a..8ce104c 100644
+index 763cc1a..fb44a37 100644
 --- sc/source/ui/unoobj/chart2uno.cxx
 +++ sc/source/ui/unoobj/chart2uno.cxx
 @@ -1008,7 +1008,7 @@ uno::Reference< chart2::data::XDataSequence > SAL_CALL
@@ -903,7 +903,7 @@
          xResult.set(new ScChart2DataSequence(m_pDocument, this, aRangeList));
  
      return xResult;
-@@ -1042,23 +1042,109 @@ rtl::OUString SAL_CALL ScChart2DataProvider::convertRangeToXML( const rtl::OUStr
+@@ -1042,23 +1042,122 @@ rtl::OUString SAL_CALL ScChart2DataProvider::convertRangeToXML( const rtl::OUStr
      if( m_pDocument )
      {
          ScRangeList aList;
@@ -919,18 +919,32 @@
  
 +static bool lcl_parseSingleRangeToken(
 +    ScRange& rRange, const rtl::OUString& rToken, ScDocument* pDoc, ::formula::FormulaGrammar::AddressConvention eConv,
-+    const sal_Unicode cSep, const sal_Unicode cQuote)
++    const sal_Unicode cQuote, bool bOldSyntaxWorkAround)
 +{
 +    sal_Int32 nSepPos = ScRangeStringConverter::IndexOf(rToken, ':', 0, cQuote);
 +    if (nSepPos >= 0)
 +    {
-+        rtl::OUString aStartAddr = rToken.copy(0, nSepPos);
-+        rtl::OUString aEndAddr = rToken.copy(nSepPos+1);
-+        USHORT nRes = rRange.aStart.Parse(aStartAddr, pDoc, eConv);
++        // Cell range
++        rtl::OUString aBeginCell = rToken.copy(0, nSepPos);
++        rtl::OUString aEndCell   = rToken.copy(nSepPos+1);
++
++        if (!aBeginCell.getLength() || !aEndCell.getLength())
++            // both cell addresses must exist for this to work.
++            return false;
++
++        if (bOldSyntaxWorkAround && aEndCell.getStr()[0] == '.')
++        {
++            // workaround for old syntax (probably pre-chart2 age?)
++            // e.g. Sheet1.A1:.B2
++            sal_Int32 nDotPos = ScRangeStringConverter::IndexOf(aBeginCell, sal_Unicode('.'), 0, cQuote);
++            rtl::OUString aTabName = aBeginCell.copy(0, nDotPos);
++            aEndCell = aTabName + aEndCell;
++        }
++        USHORT nRes = rRange.aStart.Parse(aBeginCell, pDoc, eConv);
 +        if ((nRes & SCA_VALID) != SCA_VALID)
 +            return false;
 +
-+        nRes = rRange.aEnd.Parse(aEndAddr, pDoc, eConv);
++        nRes = rRange.aEnd.Parse(aEndCell, pDoc, eConv);
 +        if ((nRes & SCA_VALID) != SCA_VALID)
 +            return false;
 +    }
@@ -972,8 +986,7 @@
 +                break;
 +
 +            // Chart always saves ranges using CONV_OOO convention.
-+            sal_Int32 nSepPos = ScRangeStringConverter::IndexOf(aToken, ':', 0, cQuote);
-+            bool bSuccess = lcl_parseSingleRangeToken(aRange, aToken, m_pDocument, ::formula::FormulaGrammar::CONV_OOO, cSep, cQuote);
++            bool bSuccess = lcl_parseSingleRangeToken(aRange, aToken, m_pDocument, ::formula::FormulaGrammar::CONV_OOO, cQuote, true);
 +
 +            if (bSuccess)
 +            {
@@ -996,7 +1009,7 @@
 +            // regardless of address conventions when stored in ODF.  This means,
 +            // for example, Sheet1!A1:A3 in Excel A1 syntax was expressed as
 +            // Sheet1!A1:Sheet1!A3.
-+            bSuccess = lcl_parseSingleRangeToken(aRange, aToken, m_pDocument, eConvUI, cSep, cQuote);
++            bSuccess = lcl_parseSingleRangeToken(aRange, aToken, m_pDocument, eConvUI, cQuote, false);
 +            if (!bSuccess)
 +                continue;
 +
@@ -1019,10 +1032,10 @@
      sal_Int32 nOffset = 0;
      while( nOffset >= 0 )
 diff --git sc/source/ui/unoobj/docuno.cxx sc/source/ui/unoobj/docuno.cxx
-index 25eef4b..f521d81 100644
+index 20fa9a3..58540df 100644
 --- sc/source/ui/unoobj/docuno.cxx
 +++ sc/source/ui/unoobj/docuno.cxx
-@@ -2185,7 +2185,8 @@ uno::Sequence < uno::Reference< table::XCellRange > > SAL_CALL ScTableSheetsObj:
+@@ -2224,7 +2224,8 @@ uno::Sequence < uno::Reference< table::XCellRange > > SAL_CALL ScTableSheetsObj:
      uno::Sequence < uno::Reference < table::XCellRange > > xRet;
  
  	ScRangeList aRangeList;
@@ -1033,10 +1046,10 @@
  	    sal_Int32 nCount = aRangeList.Count();
          if (nCount)
 diff --git sc/source/ui/view/tabview3.cxx sc/source/ui/view/tabview3.cxx
-index edf4c95..e820f10 100644
+index dc18acd..cd722eb 100644
 --- sc/source/ui/view/tabview3.cxx
 +++ sc/source/ui/view/tabview3.cxx
-@@ -2211,8 +2211,9 @@ void ScTabView::DoChartSelection(
+@@ -2240,8 +2240,9 @@ void ScTabView::DoChartSelection(
      {
          Color aSelColor( rHilightRanges[i].PreferredColor );
          ScRangeList aRangeList;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]