Index: core/fpdfapi/fpdf_page/cpdf_clippath.cpp |
diff --git a/core/fpdfapi/fpdf_page/cpdf_clippath.cpp b/core/fpdfapi/fpdf_page/cpdf_clippath.cpp |
index e820260131dce522fdc2e859a81926c65c47986d..2c05df0d193d98e822c1385a597d53bc869d0a3f 100644 |
--- a/core/fpdfapi/fpdf_page/cpdf_clippath.cpp |
+++ b/core/fpdfapi/fpdf_page/cpdf_clippath.cpp |
@@ -73,7 +73,8 @@ CFX_FloatRect CPDF_ClipPath::GetClipBox() const { |
} |
void CPDF_ClipPath::AppendPath(CPDF_Path path, uint8_t type, bool bAutoMerge) { |
- CPDF_ClipPathData* pData = GetPrivateCopy(); |
+ MakePrivateCopy(); |
+ CPDF_ClipPathData* pData = GetObject(); |
if (!pData->m_PathAndTypeList.empty() && bAutoMerge) { |
const CPDF_Path& old_path = pData->m_PathAndTypeList.back().first; |
if (old_path.IsRect()) { |
@@ -89,7 +90,8 @@ void CPDF_ClipPath::AppendPath(CPDF_Path path, uint8_t type, bool bAutoMerge) { |
void CPDF_ClipPath::AppendTexts( |
std::vector<std::unique_ptr<CPDF_TextObject>>* pTexts) { |
- CPDF_ClipPathData* pData = GetPrivateCopy(); |
+ MakePrivateCopy(); |
+ CPDF_ClipPathData* pData = GetObject(); |
if (pData->m_TextList.size() + pTexts->size() <= FPDF_CLIPPATH_MAX_TEXTS) { |
for (size_t i = 0; i < pTexts->size(); i++) |
pData->m_TextList.push_back(std::move((*pTexts)[i])); |
@@ -99,7 +101,8 @@ void CPDF_ClipPath::AppendTexts( |
} |
void CPDF_ClipPath::Transform(const CFX_Matrix& matrix) { |
- CPDF_ClipPathData* pData = GetPrivateCopy(); |
+ MakePrivateCopy(); |
+ CPDF_ClipPathData* pData = GetObject(); |
for (auto& obj : pData->m_PathAndTypeList) |
obj.first.Transform(&matrix); |
for (auto& text : pData->m_TextList) { |