summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_page/cpdf_textstate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_page/cpdf_textstate.cpp')
-rw-r--r--core/fpdfapi/fpdf_page/cpdf_textstate.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/core/fpdfapi/fpdf_page/cpdf_textstate.cpp b/core/fpdfapi/fpdf_page/cpdf_textstate.cpp
index ae75876664..47e2116836 100644
--- a/core/fpdfapi/fpdf_page/cpdf_textstate.cpp
+++ b/core/fpdfapi/fpdf_page/cpdf_textstate.cpp
@@ -10,16 +10,15 @@
#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
void CPDF_TextState::SetFont(CPDF_Font* pFont) {
- CPDF_TextStateData* pStateData = GetPrivateCopy();
- if (pStateData) {
- CPDF_Document* pDoc = pStateData->m_pDocument;
- CPDF_DocPageData* pPageData = pDoc ? pDoc->GetPageData() : nullptr;
- if (pPageData && pStateData->m_pFont && !pPageData->IsForceClear()) {
- pPageData->ReleaseFont(pStateData->m_pFont->GetFontDict());
- }
- pStateData->m_pDocument = pFont ? pFont->m_pDocument : nullptr;
- pStateData->m_pFont = pFont;
- }
+ MakePrivateCopy();
+ CPDF_TextStateData* pStateData = GetObject();
+ CPDF_Document* pDoc = pStateData->m_pDocument;
+ CPDF_DocPageData* pPageData = pDoc ? pDoc->GetPageData() : nullptr;
+ if (pPageData && pStateData->m_pFont && !pPageData->IsForceClear())
+ pPageData->ReleaseFont(pStateData->m_pFont->GetFontDict());
+
+ pStateData->m_pDocument = pFont ? pFont->m_pDocument : nullptr;
+ pStateData->m_pFont = pFont;
}
FX_FLOAT CPDF_TextState::GetFontSizeV() const {