Pass retained arguments to CPVT_FontMap().
Bug: pdfium:1843
Change-Id: Id1867dbb5cb3298f8c4359297efb9e667a2e7f33
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96215
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfdoc/cpdf_generateap.cpp b/core/fpdfdoc/cpdf_generateap.cpp
index c05b141..d92d580 100644
--- a/core/fpdfdoc/cpdf_generateap.cpp
+++ b/core/fpdfdoc/cpdf_generateap.cpp
@@ -368,13 +368,13 @@
ByteString GetPopupContentsString(CPDF_Document* pDoc,
const CPDF_Dictionary& pAnnotDict,
- const RetainPtr<CPDF_Font>& pDefFont,
+ RetainPtr<CPDF_Font> pDefFont,
const ByteString& sFontName) {
WideString swValue(pAnnotDict.GetUnicodeTextFor(pdfium::form_fields::kT));
swValue += L'\n';
swValue += pAnnotDict.GetUnicodeTextFor(pdfium::annotation::kContents);
- CPVT_FontMap map(pDoc, nullptr, pDefFont, sFontName);
+ CPVT_FontMap map(pDoc, nullptr, std::move(pDefFont), sFontName);
CPVT_VariableText::Provider prd(&map);
CPVT_VariableText vt(&prd);
vt.SetPlateRect(pAnnotDict.GetRectFor(pdfium::annotation::kRect));
@@ -774,7 +774,8 @@
RetainPtr<CPDF_Dictionary> pResourceDict = GenerateResourceDict(
pDoc, std::move(pExtGStateDict), std::move(pResourceFontDict));
- sAppStream << GetPopupContentsString(pDoc, *pAnnotDict, pDefFont, sFontName);
+ sAppStream << GetPopupContentsString(pDoc, *pAnnotDict, std::move(pDefFont),
+ sFontName);
GenerateAndSetAPDict(pDoc, pAnnotDict, &sAppStream, std::move(pResourceDict),
false /*IsTextMarkupAnnotation*/);
return true;
@@ -1098,7 +1099,7 @@
CPVT_FontMap map(
pDoc,
pStreamDict ? pStreamDict->GetMutableDictFor("Resources").Get() : nullptr,
- pDefFont, font_name);
+ std::move(pDefFont), font_name);
CPVT_VariableText::Provider prd(&map);
switch (type) {
diff --git a/core/fpdfdoc/cpvt_fontmap.cpp b/core/fpdfdoc/cpvt_fontmap.cpp
index e02d854..cf9fb76 100644
--- a/core/fpdfdoc/cpvt_fontmap.cpp
+++ b/core/fpdfdoc/cpvt_fontmap.cpp
@@ -20,11 +20,11 @@
CPVT_FontMap::CPVT_FontMap(CPDF_Document* pDoc,
CPDF_Dictionary* pResDict,
- const RetainPtr<CPDF_Font>& pDefFont,
+ RetainPtr<CPDF_Font> pDefFont,
const ByteString& sDefFontAlias)
: m_pDocument(pDoc),
m_pResDict(pResDict),
- m_pDefFont(pDefFont),
+ m_pDefFont(std::move(pDefFont)),
m_sDefFontAlias(sDefFontAlias) {}
CPVT_FontMap::~CPVT_FontMap() = default;
diff --git a/core/fpdfdoc/cpvt_fontmap.h b/core/fpdfdoc/cpvt_fontmap.h
index d308739..aae4a8d 100644
--- a/core/fpdfdoc/cpvt_fontmap.h
+++ b/core/fpdfdoc/cpvt_fontmap.h
@@ -22,7 +22,7 @@
public:
CPVT_FontMap(CPDF_Document* pDoc,
CPDF_Dictionary* pResDict,
- const RetainPtr<CPDF_Font>& pDefFont,
+ RetainPtr<CPDF_Font> pDefFont,
const ByteString& sDefFontAlias);
~CPVT_FontMap() override;