framework/source/uiconfiguration/uicategorydescription.cxx |    3 ++-
 framework/source/uielement/uicommanddescription.cxx        |   10 +++++++---
 2 files changed, 9 insertions(+), 4 deletions(-)

New commits:
commit 7d1e91f43f8f5963475dcac954e47b35efb00e20
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Jun 18 13:06:53 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Fri Jun 18 16:51:59 2021 +0200

    hold SvtSysLocale for lifetime of returned GetUILanguageTag reference
    
    Change-Id: I36b01e6b4827aceca95502386ab1abc4cf0baaea
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117449
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/framework/source/uiconfiguration/uicategorydescription.cxx 
b/framework/source/uiconfiguration/uicategorydescription.cxx
index 1e747fa13255..620384fadb14 100644
--- a/framework/source/uiconfiguration/uicategorydescription.cxx
+++ b/framework/source/uiconfiguration/uicategorydescription.cxx
@@ -365,7 +365,8 @@ public:
 UICategoryDescription::UICategoryDescription( const Reference< 
XComponentContext >& rxContext ) :
     UICommandDescription(rxContext,true)
 {
-    const LanguageTag& rCurrentLanguage = SvtSysLocale().GetUILanguageTag();
+    SvtSysLocale aSysLocale;
+    const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
     Reference< XNameAccess > xEmpty;
     OUString aGenericCategories( "GenericCategories" );
     m_xGenericUICommands[rCurrentLanguage] = new 
ConfigurationAccess_UICategory( aGenericCategories, xEmpty, rxContext );
diff --git a/framework/source/uielement/uicommanddescription.cxx 
b/framework/source/uielement/uicommanddescription.cxx
index ca9d929435f8..90051358f5be 100644
--- a/framework/source/uielement/uicommanddescription.cxx
+++ b/framework/source/uielement/uicommanddescription.cxx
@@ -574,7 +574,8 @@ UICommandDescription::UICommandDescription(const Reference< 
XComponentContext >&
     , m_aPrivateResourceURL(PRIVATE_RESOURCE_URL)
     , m_xContext(rxContext)
 {
-    const LanguageTag& rCurrentLanguage = SvtSysLocale().GetUILanguageTag();
+    SvtSysLocale aSysLocale;
+    const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
 
     ensureGenericUICommandsForLanguage(rCurrentLanguage);
 
@@ -605,6 +606,8 @@ void UICommandDescription::impl_fillElements(const char* 
_pName)
     m_xModuleManager.set( ModuleManager::create( m_xContext ) );
     const Sequence< OUString > aElementNames = 
m_xModuleManager->getElementNames();
 
+    SvtSysLocale aSysLocale;
+
     for ( OUString const & aModuleIdentifier : aElementNames )
     {
         Sequence< PropertyValue > aSeq;
@@ -624,7 +627,7 @@ void UICommandDescription::impl_fillElements(const char* 
_pName)
             m_aModuleToCommandFileMap.emplace( aModuleIdentifier, aCommandStr 
);
 
             // Create second mapping Command File ==> commands instance
-            const LanguageTag& rCurrentLanguage = 
SvtSysLocale().GetUILanguageTag();
+            const LanguageTag& rCurrentLanguage = 
aSysLocale.GetUILanguageTag();
             auto& rMap = m_aUICommandsHashMap[rCurrentLanguage];
             UICommandsHashMap::iterator pIter = rMap.find( aCommandStr );
             if ( pIter == rMap.end() )
@@ -635,7 +638,8 @@ void UICommandDescription::impl_fillElements(const char* 
_pName)
 
 Any SAL_CALL UICommandDescription::getByName( const OUString& aName )
 {
-    const LanguageTag& rCurrentLanguage = SvtSysLocale().GetUILanguageTag();
+    SvtSysLocale aSysLocale;
+    const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
     Any a;
 
     osl::MutexGuard g(rBHelper.rMutex);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to