From c6ab97b5b5be7083c4929b7f08b33203a7f932da Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 14 Sep 2018 21:56:59 +0000 Subject: Use UnownedPtr in CFX_UnicodeEncoding. Change-Id: I410909be359a5b5bb0c90d42064144771183525e Reviewed-on: https://pdfium-review.googlesource.com/42461 Reviewed-by: Tom Sepez Commit-Queue: Lei Zhang --- core/fpdfapi/parser/cpdf_document.cpp | 2 ++ core/fxge/cfx_unicodeencoding.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp index 7119e7649a..233b98e3af 100644 --- a/core/fpdfapi/parser/cpdf_document.cpp +++ b/core/fpdfapi/parser/cpdf_document.cpp @@ -188,6 +188,8 @@ CPDF_Document::CPDF_Document() m_pDocRender(pdfium::MakeUnique(this)) {} CPDF_Document::~CPDF_Document() { + // Destroy the extension before doing any non-extension teardown. + m_pExtension.reset(); CPDF_ModuleMgr::Get()->GetPageModule()->ClearStockFont(this); } diff --git a/core/fxge/cfx_unicodeencoding.h b/core/fxge/cfx_unicodeencoding.h index f8bcff391f..57848c1267 100644 --- a/core/fxge/cfx_unicodeencoding.h +++ b/core/fxge/cfx_unicodeencoding.h @@ -9,6 +9,8 @@ #include +#include "core/fxcrt/unowned_ptr.h" + #ifdef PDF_ENABLE_XFA #define FXFM_ENC_TAG(a, b, c, d) \ (((uint32_t)(a) << 24) | ((uint32_t)(b) << 16) | ((uint32_t)(c) << 8) | \ @@ -39,7 +41,7 @@ class CFX_UnicodeEncoding { virtual uint32_t GlyphFromCharCode(uint32_t charcode); protected: - CFX_Font* m_pFont; // Unowned, not nullptr. + UnownedPtr const m_pFont; }; #endif // CORE_FXGE_CFX_UNICODEENCODING_H_ -- cgit v1.2.3