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