Pass retained argument to CFX_StockFontArray::SetFont()
-- in turn, do the same for CPDF_FontGlobals::Set()
Bug: pdfium:1843
Change-Id: I5ab6ed6290d980fef9f4c3b9a50be588ee6511c5
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/95451
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/font/cfx_stockfontarray.cpp b/core/fpdfapi/font/cfx_stockfontarray.cpp
index 231a1b5..ada2ce4 100644
--- a/core/fpdfapi/font/cfx_stockfontarray.cpp
+++ b/core/fpdfapi/font/cfx_stockfontarray.cpp
@@ -7,6 +7,7 @@
#include "core/fpdfapi/font/cfx_stockfontarray.h"
#include <iterator>
+#include <utility>
#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
@@ -35,7 +36,7 @@
}
void CFX_StockFontArray::SetFont(CFX_FontMapper::StandardFont index,
- const RetainPtr<CPDF_Font>& pFont) {
+ RetainPtr<CPDF_Font> pFont) {
if (index < std::size(m_StockFonts))
- m_StockFonts[index] = pFont;
+ m_StockFonts[index] = std::move(pFont);
}
diff --git a/core/fpdfapi/font/cfx_stockfontarray.h b/core/fpdfapi/font/cfx_stockfontarray.h
index 90ae04b..6a1f930 100644
--- a/core/fpdfapi/font/cfx_stockfontarray.h
+++ b/core/fpdfapi/font/cfx_stockfontarray.h
@@ -18,8 +18,7 @@
~CFX_StockFontArray();
RetainPtr<CPDF_Font> GetFont(CFX_FontMapper::StandardFont index) const;
- void SetFont(CFX_FontMapper::StandardFont index,
- const RetainPtr<CPDF_Font>& pFont);
+ void SetFont(CFX_FontMapper::StandardFont index, RetainPtr<CPDF_Font> pFont);
private:
RetainPtr<CPDF_Font> m_StockFonts[14];
diff --git a/core/fpdfapi/font/cpdf_fontglobals.cpp b/core/fpdfapi/font/cpdf_fontglobals.cpp
index 0d5cb69..1873a01 100644
--- a/core/fpdfapi/font/cpdf_fontglobals.cpp
+++ b/core/fpdfapi/font/cpdf_fontglobals.cpp
@@ -6,6 +6,8 @@
#include "core/fpdfapi/font/cpdf_fontglobals.h"
+#include <utility>
+
#include "core/fpdfapi/cmaps/CNS1/cmaps_cns1.h"
#include "core/fpdfapi/cmaps/GB1/cmaps_gb1.h"
#include "core/fpdfapi/cmaps/Japan1/cmaps_japan1.h"
@@ -74,10 +76,10 @@
void CPDF_FontGlobals::Set(CPDF_Document* pDoc,
CFX_FontMapper::StandardFont index,
- const RetainPtr<CPDF_Font>& pFont) {
+ RetainPtr<CPDF_Font> pFont) {
if (!pdfium::Contains(m_StockMap, pDoc))
m_StockMap[pDoc] = std::make_unique<CFX_StockFontArray>();
- m_StockMap[pDoc]->SetFont(index, pFont);
+ m_StockMap[pDoc]->SetFont(index, std::move(pFont));
}
void CPDF_FontGlobals::Clear(CPDF_Document* pDoc) {
diff --git a/core/fpdfapi/font/cpdf_fontglobals.h b/core/fpdfapi/font/cpdf_fontglobals.h
index 8d66122..e39555b 100644
--- a/core/fpdfapi/font/cpdf_fontglobals.h
+++ b/core/fpdfapi/font/cpdf_fontglobals.h
@@ -34,7 +34,7 @@
CFX_FontMapper::StandardFont index);
void Set(CPDF_Document* pDoc,
CFX_FontMapper::StandardFont index,
- const RetainPtr<CPDF_Font>& pFont);
+ RetainPtr<CPDF_Font> pFont);
void SetEmbeddedCharset(CIDSet idx, pdfium::span<const FXCMAP_CMap> map) {
m_EmbeddedCharsets[idx] = map;