Blob Blame History Raw
From 99484e05a48f6253ebbbb1ff4fd2e8cc80cdbe5d Mon Sep 17 00:00:00 2001
From: Kohei Yoshida <kohei.yoshida@suse.com>
Date: Mon, 16 Jan 2012 14:33:24 +0100
Subject: [PATCH 1/5] fdo#39118: Fixed chart listener registration during ODS
 import.

The breakage was due to the drawing layer re-work.  We do need to store
charts (or all OLE shapes with associated listening ranges) for later
registration regardless of anchor types.

Signed-off-by: Eike Rathke <erack@redhat.com>
---
 sc/source/filter/xml/XMLTableShapeImportHelper.cxx |    2 +-
 sc/source/filter/xml/XMLTableShapeResizer.cxx      |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
index 9222749..06f8854 100644
--- a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
+++ b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
@@ -152,7 +152,7 @@ void XMLTableShapeImportHelper::finishShape(
                 }
             }
 
-            if ( bOnTable && pRangeList )
+            if (pRangeList)
             {
                 // #i78086# If there are notification ranges, the ChartListener must be created
                 // also when anchored to the sheet
diff --git a/sc/source/filter/xml/XMLTableShapeResizer.cxx b/sc/source/filter/xml/XMLTableShapeResizer.cxx
index 6d61b80..3d4ddea 100644
--- a/sc/source/filter/xml/XMLTableShapeResizer.cxx
+++ b/sc/source/filter/xml/XMLTableShapeResizer.cxx
@@ -81,6 +81,7 @@ void ScMyOLEFixer::CreateChartListener(ScDocument* pDoc,
     }
 
     OUString aRangeStr;
+    // This one returns ranges with ';' as the separators.
     ScRangeStringConverter::GetStringFromXMLRangeString(aRangeStr, rRangeList, pDoc);
     if (!aRangeStr.getLength())
     {
@@ -95,9 +96,8 @@ void ScMyOLEFixer::CreateChartListener(ScDocument* pDoc,
         return;
 
     auto_ptr< vector<ScTokenRef> > pRefTokens(new vector<ScTokenRef>);
-    const sal_Unicode cSep = ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
     ScRefTokenHelper::compileRangeRepresentation(
-        *pRefTokens, aRangeStr, pDoc, cSep, formula::FormulaGrammar::GRAM_ENGLISH);
+        *pRefTokens, aRangeStr, pDoc, ';', formula::FormulaGrammar::GRAM_ENGLISH);
     if (!pRefTokens->empty())
     {
         ScChartListener* pCL(new ScChartListener(rName, pDoc, pRefTokens.release()));
-- 
1.7.7.6