no need to hold SvtSysLocale by std::unique_ptr
allocate it inline, it is only one pointer in size Change-Id: I736f3322784897054993fbddd423f36357f817c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147741 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
committed by
Noel Grandin
parent
639d72e13e
commit
bee4402c7e
@@ -61,15 +61,14 @@ namespace formula
|
||||
#define FUNC_NOTFOUND -1
|
||||
|
||||
FormulaHelper::FormulaHelper(const IFunctionManager* _pFunctionManager)
|
||||
:m_pSysLocale(new SvtSysLocale)
|
||||
,m_pFunctionManager(_pFunctionManager)
|
||||
:m_pFunctionManager(_pFunctionManager)
|
||||
,open(_pFunctionManager->getSingleToken(IFunctionManager::eOk))
|
||||
,close(_pFunctionManager->getSingleToken(IFunctionManager::eClose))
|
||||
,sep(_pFunctionManager->getSingleToken(IFunctionManager::eSep))
|
||||
,arrayOpen(_pFunctionManager->getSingleToken(IFunctionManager::eArrayOpen))
|
||||
,arrayClose(_pFunctionManager->getSingleToken(IFunctionManager::eArrayClose))
|
||||
{
|
||||
m_pCharClass = &m_pSysLocale->GetCharClass();
|
||||
m_pCharClass = &m_aSysLocale.GetCharClass();
|
||||
}
|
||||
|
||||
sal_Int32 FormulaHelper::GetCategoryCount() const
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace formula
|
||||
|
||||
class FORMULA_DLLPUBLIC FormulaHelper
|
||||
{
|
||||
::std::unique_ptr<SvtSysLocale> m_pSysLocale;
|
||||
SvtSysLocale m_aSysLocale;
|
||||
const CharClass* m_pCharClass;
|
||||
const IFunctionManager* m_pFunctionManager;
|
||||
const sal_Unicode open;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <sfx2/app.hxx>
|
||||
#include <vcl/vclptr.hxx>
|
||||
#include <unotools/options.hxx>
|
||||
#include <optional>
|
||||
|
||||
namespace svtools { class ColorConfig; }
|
||||
|
||||
@@ -65,7 +66,7 @@ class SmModule final : public SfxModule, public utl::ConfigurationListener
|
||||
std::unique_ptr<svtools::ColorConfig> mpColorConfig;
|
||||
std::unique_ptr<SmMathConfig> mpConfig;
|
||||
std::unique_ptr<SmLocalizedSymbolData> mpLocSymbolData;
|
||||
std::unique_ptr<SvtSysLocale> mpSysLocale;
|
||||
std::optional<SvtSysLocale> moSysLocale;
|
||||
VclPtr<VirtualDevice> mpVirtualDev;
|
||||
|
||||
public:
|
||||
|
||||
@@ -173,9 +173,9 @@ SmSymbolManager & SmModule::GetSymbolManager()
|
||||
|
||||
const SvtSysLocale& SmModule::GetSysLocale()
|
||||
{
|
||||
if( !mpSysLocale )
|
||||
mpSysLocale.reset(new SvtSysLocale);
|
||||
return *mpSysLocale;
|
||||
if( !moSysLocale )
|
||||
moSysLocale.emplace();
|
||||
return *moSysLocale;
|
||||
}
|
||||
|
||||
VirtualDevice &SmModule::GetDefaultVirtualDev()
|
||||
|
||||
Reference in New Issue
Block a user