diff options
Diffstat (limited to 'fpdfsdk/cpdfsdk_formfillenvironment.cpp')
-rw-r--r-- | fpdfsdk/cpdfsdk_formfillenvironment.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp index e1b34ce51a..f17d28b9b6 100644 --- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp +++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp @@ -7,6 +7,7 @@ #include "fpdfsdk/cpdfsdk_formfillenvironment.h" #include <memory> +#include <utility> #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfdoc/cpdf_docjsactions.h" @@ -568,8 +569,10 @@ CPDFSDK_PageView* CPDFSDK_FormFillEnvironment::GetPageView( if (!renew) return nullptr; - CPDFSDK_PageView* pPageView = new CPDFSDK_PageView(this, pUnderlyingPage); - m_PageMap[pUnderlyingPage].reset(pPageView); + auto pNew = pdfium::MakeUnique<CPDFSDK_PageView>(this, pUnderlyingPage); + CPDFSDK_PageView* pPageView = pNew.get(); + m_PageMap[pUnderlyingPage] = std::move(pNew); + // Delay to load all the annotations, to avoid endless loop. pPageView->LoadFXAnnots(); return pPageView; |