Pass retained argument to CPDF_APSettings() ctor.
Bug: pdfium:1843
Change-Id: Ic9e4f7e3c979b54658a60541715849b5eba34749
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/94831
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Auto-Submit: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfdoc/cpdf_apsettings.cpp b/core/fpdfdoc/cpdf_apsettings.cpp
index 2f8cbc5..954615b 100644
--- a/core/fpdfdoc/cpdf_apsettings.cpp
+++ b/core/fpdfdoc/cpdf_apsettings.cpp
@@ -7,13 +7,15 @@
#include "core/fpdfdoc/cpdf_apsettings.h"
#include <algorithm>
+#include <utility>
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfdoc/cpdf_formcontrol.h"
-CPDF_ApSettings::CPDF_ApSettings(CPDF_Dictionary* pDict) : m_pDict(pDict) {}
+CPDF_ApSettings::CPDF_ApSettings(RetainPtr<CPDF_Dictionary> pDict)
+ : m_pDict(std::move(pDict)) {}
CPDF_ApSettings::CPDF_ApSettings(const CPDF_ApSettings& that) = default;
diff --git a/core/fpdfdoc/cpdf_apsettings.h b/core/fpdfdoc/cpdf_apsettings.h
index b5149cb..6f38734 100644
--- a/core/fpdfdoc/cpdf_apsettings.h
+++ b/core/fpdfdoc/cpdf_apsettings.h
@@ -27,7 +27,7 @@
class CPDF_ApSettings {
public:
- explicit CPDF_ApSettings(CPDF_Dictionary* pDict);
+ explicit CPDF_ApSettings(RetainPtr<CPDF_Dictionary> pDict);
CPDF_ApSettings(const CPDF_ApSettings& that);
~CPDF_ApSettings();
diff --git a/core/fpdfdoc/cpdf_formcontrol.cpp b/core/fpdfdoc/cpdf_formcontrol.cpp
index cdb8dd3..d8057d8 100644
--- a/core/fpdfdoc/cpdf_formcontrol.cpp
+++ b/core/fpdfdoc/cpdf_formcontrol.cpp
@@ -138,7 +138,7 @@
}
CPDF_ApSettings CPDF_FormControl::GetMK() const {
- return CPDF_ApSettings(m_pWidgetDict->GetMutableDictFor("MK").Get());
+ return CPDF_ApSettings(m_pWidgetDict->GetMutableDictFor("MK"));
}
bool CPDF_FormControl::HasMKEntry(const ByteString& csEntry) const {