| Index: xfa/fwl/theme/cfwl_widgettp.cpp
|
| diff --git a/xfa/fwl/theme/cfwl_widgettp.cpp b/xfa/fwl/theme/cfwl_widgettp.cpp
|
| index 395571c2c404bb57a63a10a69a3ac0ab12fc5fd7..a0d6b4c54d9ee3dd2e8439b394c435a78296089f 100644
|
| --- a/xfa/fwl/theme/cfwl_widgettp.cpp
|
| +++ b/xfa/fwl/theme/cfwl_widgettp.cpp
|
| @@ -298,8 +298,8 @@ bool CFWL_FontData::LoadFont(const CFX_WideStringC& wsFontFamily,
|
| m_pFontMgr = CFGAS_FontMgr::Create(m_pFontSource.get());
|
| #endif
|
| }
|
| - m_pFont.reset(CFGAS_GEFont::LoadFont(wsFontFamily.c_str(), dwFontStyles,
|
| - dwCodePage, m_pFontMgr.get()));
|
| + m_pFont = CFGAS_GEFont::LoadFont(wsFontFamily.c_str(), dwFontStyles,
|
| + dwCodePage, m_pFontMgr.get());
|
| return !!m_pFont;
|
| }
|
|
|
| @@ -319,16 +319,18 @@ CFWL_FontManager::CFWL_FontManager() {}
|
|
|
| CFWL_FontManager::~CFWL_FontManager() {}
|
|
|
| -CFGAS_GEFont* CFWL_FontManager::FindFont(const CFX_WideStringC& wsFontFamily,
|
| - uint32_t dwFontStyles,
|
| - uint16_t wCodePage) {
|
| +CFX_RetainPtr<CFGAS_GEFont> CFWL_FontManager::FindFont(
|
| + const CFX_WideStringC& wsFontFamily,
|
| + uint32_t dwFontStyles,
|
| + uint16_t wCodePage) {
|
| for (const auto& pData : m_FontsArray) {
|
| if (pData->Equal(wsFontFamily, dwFontStyles, wCodePage))
|
| return pData->GetFont();
|
| }
|
| - std::unique_ptr<CFWL_FontData> pFontData(new CFWL_FontData);
|
| + auto pFontData = pdfium::MakeUnique<CFWL_FontData>();
|
| if (!pFontData->LoadFont(wsFontFamily, dwFontStyles, wCodePage))
|
| return nullptr;
|
| +
|
| m_FontsArray.push_back(std::move(pFontData));
|
| return m_FontsArray.back()->GetFont();
|
| }
|
|
|