[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - include/svl sc/source

Markus Mohrhard markus.mohrhard at googlemail.com
Mon Dec 18 18:16:07 UTC 2017


 include/svl/hint.hxx              |    1 +
 sc/source/filter/xml/xmlimprt.cxx |    5 +++++
 sc/source/ui/unoobj/chart2uno.cxx |    5 +++++
 3 files changed, 11 insertions(+)

New commits:
commit 43b5d6b4a5cdafd63866046b1949431d75d7192c
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Mon Dec 18 00:48:36 2017 +0100

    clear the data provider cache after import, tdf#111960
    
    This might also fix some problems with normal ODS files and not just
    with FODS files when we recompile formulas after the whole import.
    
    Change-Id: Iec05d2052ca5ce3bdf03abf02d502e4537fd3082
    Reviewed-on: https://gerrit.libreoffice.org/46672
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    (cherry picked from commit f9d8fe959d88011d63fc047a8cc00ded1dd2fda1)
    Reviewed-on: https://gerrit.libreoffice.org/46689

diff --git a/include/svl/hint.hxx b/include/svl/hint.hxx
index bce91f5462ae..e547afa3768d 100644
--- a/include/svl/hint.hxx
+++ b/include/svl/hint.hxx
@@ -89,6 +89,7 @@ enum class SfxHintId {
     ScKillEditViewNoPaint,
     ScHiddenRowsChanged,
     ScSelectionChanged,
+    ScClearCache,
 
 // SC accessibility hints
     ScAccTableChanged,
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
index 1bf8d576fe38..3adf318b6ad8 100644
--- a/sc/source/filter/xml/xmlimprt.cxx
+++ b/sc/source/filter/xml/xmlimprt.cxx
@@ -1868,6 +1868,11 @@ void SAL_CALL ScXMLImport::endDocument()
     }
     SvXMLImport::endDocument();
 
+    if (pDoc)
+    {
+        pDoc->BroadcastUno(SfxHint(SfxHintId::ScClearCache));
+    }
+
     if(pDoc && bSelfImportingXMLSet)
         ScModelObj::getImplementation(GetModel())->AfterXMLLoading();
 }
diff --git a/sc/source/ui/unoobj/chart2uno.cxx b/sc/source/ui/unoobj/chart2uno.cxx
index f42fd4f1fff6..00cb7cded6a9 100644
--- a/sc/source/ui/unoobj/chart2uno.cxx
+++ b/sc/source/ui/unoobj/chart2uno.cxx
@@ -2871,6 +2871,11 @@ void ScChart2DataSequence::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint
             if ( !m_aValueListeners.empty() )
                 m_bGotDataChangedHint = true;
         }
+        else if (nId == SfxHintId::ScClearCache)
+        {
+            // necessary after import
+            m_aDataArray.clear();
+        }
     }
 }
 


More information about the Libreoffice-commits mailing list