i18npool/inc/defaultnumberingprovider.hxx                             |    6 
+++++-
 i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx |    5 
+++--
 2 files changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 1ec6de1cff6a5f2c15aa85c12c6e327282ca8703
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Jun 26 15:20:32 2019 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri Jun 28 12:48:40 2019 +0200

    tdf#125706 Fields slow down down load, cache NativeNumberSupplierService
    
    Cache the NativeNumberSupplierService in DefaultNumberingProvider.
    
    Takes the load time from 5s to 4.5s.
    
    Change-Id: I13de1cd4db8785a1c94d40fb163bcc9b80a5c7f5
    Reviewed-on: https://gerrit.libreoffice.org/74741
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/i18npool/inc/defaultnumberingprovider.hxx 
b/i18npool/inc/defaultnumberingprovider.hxx
index eb9446c7098b..f01378ab075e 100644
--- a/i18npool/inc/defaultnumberingprovider.hxx
+++ b/i18npool/inc/defaultnumberingprovider.hxx
@@ -28,7 +28,10 @@
 
 namespace com::sun::star::container { class XHierarchicalNameAccess; }
 namespace com::sun::star::uno { class XComponentContext; }
-namespace i18npool { class TransliterationImpl; }
+namespace i18npool {
+    class TransliterationImpl;
+    class NativeNumberSupplierService;
+}
 
 namespace i18npool {
 
@@ -74,6 +77,7 @@ private:
     css::uno::Reference < css::uno::XComponentContext > m_xContext;
     css::uno::Reference < css::container::XHierarchicalNameAccess > 
xHierarchicalNameAccess;
     rtl::Reference<TransliterationImpl> translit;
+    rtl::Reference<NativeNumberSupplierService> mxNatNum;
     /// @throws css::uno::RuntimeException
     OUString makeNumberingIdentifier( sal_Int16 index );
     /// @throws css::uno::RuntimeException
diff --git 
a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx 
b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index ce6eb1dde781..5e21a5a4dc5d 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -905,8 +905,9 @@ DefaultNumberingProvider::makeNumberingString( const 
Sequence<beans::PropertyVal
      }
 
      if (natNum) {
-            rtl::Reference<NativeNumberSupplierService> xNatNum(new 
NativeNumberSupplierService);
-            result += 
xNatNum->getNativeNumberStringParams(OUString::number(number), locale,
+            if (!mxNatNum)
+                mxNatNum.set(new NativeNumberSupplierService);
+            result += 
mxNatNum->getNativeNumberStringParams(OUString::number(number), locale,
                                                                  natNum, 
sNatNumParams);
      } else if (tableSize) {
             if ( number > tableSize && !bRecycleSymbol)
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to