Index: fpdfsdk/fsdk_baseform.cpp |
diff --git a/fpdfsdk/fsdk_baseform.cpp b/fpdfsdk/fsdk_baseform.cpp |
index 4a2540093f8bf323f0b41a20474faf5111ea9ac2..6693de1250a2cc2a9c5441634c07c4b1d5497a09 100644 |
--- a/fpdfsdk/fsdk_baseform.cpp |
+++ b/fpdfsdk/fsdk_baseform.cpp |
@@ -7,6 +7,7 @@ |
#include "fpdfsdk/include/fsdk_baseform.h" |
#include <algorithm> |
+#include <map> |
#include <memory> |
#include <vector> |
@@ -1997,7 +1998,7 @@ CPDFSDK_InterForm::~CPDFSDK_InterForm() { |
m_pInterForm = nullptr; |
m_Map.clear(); |
#ifdef PDF_ENABLE_XFA |
- m_XFAMap.RemoveAll(); |
+ m_XFAMap.clear(); |
#endif // PDF_ENABLE_XFA |
} |
@@ -2114,18 +2115,19 @@ FX_BOOL CPDFSDK_InterForm::IsCalculateEnabled() const { |
#ifdef PDF_ENABLE_XFA |
void CPDFSDK_InterForm::AddXFAMap(CXFA_FFWidget* hWidget, |
CPDFSDK_XFAWidget* pWidget) { |
- m_XFAMap.SetAt(hWidget, pWidget); |
+ FXSYS_assert(hWidget); |
+ m_XFAMap[hWidget] = pWidget; |
} |
void CPDFSDK_InterForm::RemoveXFAMap(CXFA_FFWidget* hWidget) { |
- m_XFAMap.RemoveKey(hWidget); |
+ FXSYS_assert(hWidget); |
+ m_XFAMap.erase(hWidget); |
} |
CPDFSDK_XFAWidget* CPDFSDK_InterForm::GetXFAWidget(CXFA_FFWidget* hWidget) { |
- CPDFSDK_XFAWidget* pWidget = NULL; |
- m_XFAMap.Lookup(hWidget, pWidget); |
- |
- return pWidget; |
+ FXSYS_assert(hWidget); |
+ auto it = m_XFAMap.find(hWidget); |
+ return it != m_XFAMap.end() ? it->second : nullptr; |
} |
void CPDFSDK_InterForm::XfaEnableCalculate(FX_BOOL bEnabled) { |
@@ -2454,14 +2456,8 @@ FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf( |
#ifdef PDF_ENABLE_XFA |
void CPDFSDK_InterForm::SynchronizeField(CPDF_FormField* pFormField, |
FX_BOOL bSynchronizeElse) { |
- int x = 0; |
- if (m_FieldSynchronizeMap.Lookup(pFormField, x)) |
- return; |
- |
for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) { |
CPDF_FormControl* pFormCtrl = pFormField->GetControl(i); |
- ASSERT(pFormCtrl); |
- ASSERT(m_pInterForm); |
if (CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl)) { |
pWidget->Synchronize(bSynchronizeElse); |
} |