summaryrefslogtreecommitdiff
path: root/core/fpdfapi/font
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/font')
-rw-r--r--core/fpdfapi/font/cpdf_font.h5
-rw-r--r--core/fpdfapi/font/cpdf_type3font.cpp2
2 files changed, 4 insertions, 3 deletions
diff --git a/core/fpdfapi/font/cpdf_font.h b/core/fpdfapi/font/cpdf_font.h
index be1d91319e..c8e65e26a5 100644
--- a/core/fpdfapi/font/cpdf_font.h
+++ b/core/fpdfapi/font/cpdf_font.h
@@ -11,6 +11,7 @@
#include <vector>
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxge/fx_font.h"
@@ -78,7 +79,7 @@ class CPDF_Font {
virtual int GetCharWidthF(uint32_t charcode) = 0;
virtual FX_RECT GetCharBBox(uint32_t charcode) = 0;
- CPDF_Document* GetDocument() { return m_pDocument; }
+ CPDF_Document* GetDocument() const { return m_pDocument.Get(); }
CFX_Font* GetFont() { return &m_Font; }
const CFX_Font* GetFont() const { return &m_Font; }
CFX_Font* GetFontFallback(int position);
@@ -101,7 +102,7 @@ class CPDF_Font {
const std::vector<CFX_ByteString>& charnames,
int charcode);
- CPDF_Document* m_pDocument;
+ CFX_UnownedPtr<CPDF_Document> m_pDocument;
CFX_Font m_Font;
std::vector<std::unique_ptr<CFX_Font>> m_FontFallbacks;
CFX_ByteString m_BaseFont;
diff --git a/core/fpdfapi/font/cpdf_type3font.cpp b/core/fpdfapi/font/cpdf_type3font.cpp
index 1e8c567a7f..b1ac99b0c3 100644
--- a/core/fpdfapi/font/cpdf_type3font.cpp
+++ b/core/fpdfapi/font/cpdf_type3font.cpp
@@ -107,7 +107,7 @@ CPDF_Type3Char* CPDF_Type3Font::LoadChar(uint32_t charcode) {
auto pNewChar =
pdfium::MakeUnique<CPDF_Type3Char>(pdfium::MakeUnique<CPDF_Form>(
- m_pDocument,
+ m_pDocument.Get(),
m_pFontResources ? m_pFontResources.Get() : m_pPageResources.Get(),
pStream, nullptr));