From cb88fa33339ca04c89f340b457f4960d0d4185a2 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 14 Sep 2018 22:38:30 +0000 Subject: Use fxcrt::MaybeOwned in CFGAS_GEFont. Change-Id: Ie1f4763e37832475a60c55b26263405e0bbf09b3 Reviewed-on: https://pdfium-review.googlesource.com/42510 Commit-Queue: Lei Zhang Reviewed-by: Tom Sepez --- xfa/fgas/font/cfgas_gefont.cpp | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'xfa/fgas/font/cfgas_gefont.cpp') diff --git a/xfa/fgas/font/cfgas_gefont.cpp b/xfa/fgas/font/cfgas_gefont.cpp index 1c3d88beab..6f33eb50fe 100644 --- a/xfa/fgas/font/cfgas_gefont.cpp +++ b/xfa/fgas/font/cfgas_gefont.cpp @@ -55,11 +55,7 @@ RetainPtr CFGAS_GEFont::LoadFont( CFGAS_GEFont::CFGAS_GEFont(CFGAS_FontMgr* pFontMgr) : m_pFontMgr(pFontMgr) {} -CFGAS_GEFont::~CFGAS_GEFont() { - m_pFontEncoding.reset(); // Has an UnownedPtr to |m_pFont|. - if (!m_bExternalFont) - delete m_pFont; -} +CFGAS_GEFont::~CFGAS_GEFont() = default; #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ bool CFGAS_GEFont::LoadFontInternal(const wchar_t* pszFontFamily, @@ -73,7 +69,7 @@ bool CFGAS_GEFont::LoadFontInternal(const wchar_t* pszFontFamily, int32_t iWeight = FontStyleIsBold(dwFontStyles) ? FXFONT_FW_BOLD : FXFONT_FW_NORMAL; - m_pFont = new CFX_Font; + m_pFont = pdfium::MakeUnique(); if (FontStyleIsItalic(dwFontStyles) && FontStyleIsBold(dwFontStyles)) csFontFamily += ",BoldItalic"; else if (FontStyleIsBold(dwFontStyles)) @@ -83,9 +79,7 @@ bool CFGAS_GEFont::LoadFontInternal(const wchar_t* pszFontFamily, m_pFont->LoadSubst(csFontFamily, true, dwFontStyles, iWeight, 0, wCodePage, false); - if (!m_pFont->GetFace()) - return false; - return InitFont(); + return m_pFont->GetFace() && InitFont(); } #endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ @@ -94,7 +88,6 @@ bool CFGAS_GEFont::LoadFontInternal(CFX_Font* pExternalFont) { return false; m_pFont = pExternalFont; - m_bExternalFont = true; return InitFont(); } @@ -102,8 +95,7 @@ bool CFGAS_GEFont::LoadFontInternal(std::unique_ptr pInternalFont) { if (m_pFont || !pInternalFont) return false; - m_pFont = pInternalFont.release(); - m_bExternalFont = false; + m_pFont = std::move(pInternalFont); return InitFont(); } @@ -114,7 +106,7 @@ bool CFGAS_GEFont::InitFont() { if (m_pFontEncoding) return true; - m_pFontEncoding = FX_CreateFontEncodingEx(m_pFont, FXFM_ENCODING_NONE); + m_pFontEncoding = FX_CreateFontEncodingEx(m_pFont.Get(), FXFM_ENCODING_NONE); return !!m_pFontEncoding; } -- cgit v1.2.3