diff options
author | thestig <thestig@chromium.org> | 2016-05-31 05:46:52 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-31 05:46:52 -0700 |
commit | 4dce6d4689d464c3a8825a5d6aa790adfc9228ee (patch) | |
tree | 5be0b62c28735f57f53994a490581108cfdce829 /xfa/fxfa/app/xfa_fontmgr.cpp | |
parent | 8b3b3f59930eb29a80b3e83c0c724a50765b21f9 (diff) | |
download | pdfium-4dce6d4689d464c3a8825a5d6aa790adfc9228ee.tar.xz |
Fix a leak in CXFA_FontMgr.
Review-Url: https://codereview.chromium.org/2024713002
Diffstat (limited to 'xfa/fxfa/app/xfa_fontmgr.cpp')
-rw-r--r-- | xfa/fxfa/app/xfa_fontmgr.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/xfa/fxfa/app/xfa_fontmgr.cpp b/xfa/fxfa/app/xfa_fontmgr.cpp index 9fec265a5a..ae1449876f 100644 --- a/xfa/fxfa/app/xfa_fontmgr.cpp +++ b/xfa/fxfa/app/xfa_fontmgr.cpp @@ -7,6 +7,7 @@ #include "xfa/fxfa/include/xfa_fontmgr.h" #include <algorithm> +#include <utility> #include "core/fpdfapi/fpdf_font/include/cpdf_font.h" #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h" @@ -1997,7 +1998,7 @@ FX_BOOL CXFA_PDFFontMgr::GetCharWidth(IFX_Font* pFont, return TRUE; } -CXFA_FontMgr::CXFA_FontMgr() : m_pDefFontMgr(nullptr) {} +CXFA_FontMgr::CXFA_FontMgr() {} CXFA_FontMgr::~CXFA_FontMgr() {} @@ -2023,9 +2024,9 @@ IFX_Font* CXFA_FontMgr::GetFont(CXFA_FFDoc* hDoc, if (pFont) return pFont; } - if (!pFont && m_pDefFontMgr) { + if (!pFont && m_pDefFontMgr) pFont = m_pDefFontMgr->GetFont(hDoc, wsFontFamily, dwFontStyles, wCodePage); - } + if (!pFont && pMgr) { pPDFFont = nullptr; pFont = pMgr->GetFont(wsEnglishName.AsStringC(), dwFontStyles, &pPDFFont, @@ -2056,6 +2057,6 @@ void CXFA_FontMgr::ReleaseDocFonts(CXFA_FFDoc* hDoc) { m_PDFFontMgrMap.erase(hDoc); } -void CXFA_FontMgr::SetDefFontMgr(CXFA_DefFontMgr* pFontMgr) { - m_pDefFontMgr = pFontMgr; +void CXFA_FontMgr::SetDefFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr) { + m_pDefFontMgr = std::move(pFontMgr); } |