86e716e
From 99484e05a48f6253ebbbb1ff4fd2e8cc80cdbe5d Mon Sep 17 00:00:00 2001
86e716e
From: Kohei Yoshida <kohei.yoshida@suse.com>
86e716e
Date: Mon, 16 Jan 2012 14:33:24 +0100
86e716e
Subject: [PATCH 1/5] fdo#39118: Fixed chart listener registration during ODS
86e716e
 import.
86e716e
86e716e
The breakage was due to the drawing layer re-work.  We do need to store
86e716e
charts (or all OLE shapes with associated listening ranges) for later
86e716e
registration regardless of anchor types.
86e716e
86e716e
Signed-off-by: Eike Rathke <erack@redhat.com>
86e716e
---
86e716e
 sc/source/filter/xml/XMLTableShapeImportHelper.cxx |    2 +-
86e716e
 sc/source/filter/xml/XMLTableShapeResizer.cxx      |    4 ++--
86e716e
 2 files changed, 3 insertions(+), 3 deletions(-)
86e716e
86e716e
diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
86e716e
index 9222749..06f8854 100644
86e716e
--- a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
86e716e
+++ b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx
86e716e
@@ -152,7 +152,7 @@ void XMLTableShapeImportHelper::finishShape(
86e716e
                 }
86e716e
             }
86e716e
 
86e716e
-            if ( bOnTable && pRangeList )
86e716e
+            if (pRangeList)
86e716e
             {
86e716e
                 // #i78086# If there are notification ranges, the ChartListener must be created
86e716e
                 // also when anchored to the sheet
86e716e
diff --git a/sc/source/filter/xml/XMLTableShapeResizer.cxx b/sc/source/filter/xml/XMLTableShapeResizer.cxx
86e716e
index 6d61b80..3d4ddea 100644
86e716e
--- a/sc/source/filter/xml/XMLTableShapeResizer.cxx
86e716e
+++ b/sc/source/filter/xml/XMLTableShapeResizer.cxx
86e716e
@@ -81,6 +81,7 @@ void ScMyOLEFixer::CreateChartListener(ScDocument* pDoc,
86e716e
     }
86e716e
 
86e716e
     OUString aRangeStr;
86e716e
+    // This one returns ranges with ';' as the separators.
86e716e
     ScRangeStringConverter::GetStringFromXMLRangeString(aRangeStr, rRangeList, pDoc);
86e716e
     if (!aRangeStr.getLength())
86e716e
     {
86e716e
@@ -95,9 +96,8 @@ void ScMyOLEFixer::CreateChartListener(ScDocument* pDoc,
86e716e
         return;
86e716e
 
86e716e
     auto_ptr< vector<ScTokenRef> > pRefTokens(new vector<ScTokenRef>);
86e716e
-    const sal_Unicode cSep = ScCompiler::GetNativeSymbol(ocSep).GetChar(0);
86e716e
     ScRefTokenHelper::compileRangeRepresentation(
86e716e
-        *pRefTokens, aRangeStr, pDoc, cSep, formula::FormulaGrammar::GRAM_ENGLISH);
86e716e
+        *pRefTokens, aRangeStr, pDoc, ';', formula::FormulaGrammar::GRAM_ENGLISH);
86e716e
     if (!pRefTokens->empty())
86e716e
     {
86e716e
         ScChartListener* pCL(new ScChartListener(rName, pDoc, pRefTokens.release()));
86e716e
-- 
86e716e
1.7.7.6
86e716e