diff options
-rw-r--r-- | xfa/fxfa/parser/cxfa_localemgr.cpp | 4 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_localemgr.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/xfa/fxfa/parser/cxfa_localemgr.cpp b/xfa/fxfa/parser/cxfa_localemgr.cpp index 5ad0ce2438..a6d5b148d8 100644 --- a/xfa/fxfa/parser/cxfa_localemgr.cpp +++ b/xfa/fxfa/parser/cxfa_localemgr.cpp @@ -1145,7 +1145,7 @@ CXFA_LocaleMgr::~CXFA_LocaleMgr() {} LocaleIface* CXFA_LocaleMgr::GetDefLocale() { if (m_pDefLocale) - return m_pDefLocale; + return m_pDefLocale.Get(); if (!m_LocaleArray.empty()) return m_LocaleArray[0].get(); @@ -1158,7 +1158,7 @@ LocaleIface* CXFA_LocaleMgr::GetDefLocale() { if (locale) m_XMLLocaleArray.push_back(std::move(locale)); - return m_pDefLocale; + return m_pDefLocale.Get(); } std::unique_ptr<LocaleIface> CXFA_LocaleMgr::GetLocale(uint16_t lcid) { diff --git a/xfa/fxfa/parser/cxfa_localemgr.h b/xfa/fxfa/parser/cxfa_localemgr.h index c72e23ab5a..a59fdcdda6 100644 --- a/xfa/fxfa/parser/cxfa_localemgr.h +++ b/xfa/fxfa/parser/cxfa_localemgr.h @@ -10,6 +10,7 @@ #include <memory> #include <vector> +#include "core/fxcrt/unowned_ptr.h" #include "core/fxcrt/widestring.h" class CXFA_Node; @@ -31,7 +32,10 @@ class CXFA_LocaleMgr { std::vector<std::unique_ptr<LocaleIface>> m_LocaleArray; std::vector<std::unique_ptr<LocaleIface>> m_XMLLocaleArray; - LocaleIface* m_pDefLocale; // owned by m_LocaleArray or m_XMLLocaleArray. + + // Owned by m_LocaleArray or m_XMLLocaleArray. + UnownedPtr<LocaleIface> m_pDefLocale; + WideString m_wsConfigLocale; uint16_t m_dwDeflcid; bool m_hasSetLocaleName = false; |