Use unsigned types for app age, value age in widgets.
Then if they roll over, it doesn't matter, since we only check for change.
And then we can pull a silly check. Then remove some no-op calls where we
didn't use the result.
Change-Id: I35ba470b42fb8c32a6984999e0311b21729791ca
Reviewed-on: https://pdfium-review.googlesource.com/14210
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index 60a4d52..0183f58 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -57,7 +57,7 @@
CPDFSDK_InterForm* pInterForm)
: CPDFSDK_BAAnnot(pAnnot, pPageView),
m_pInterForm(pInterForm),
- m_nAppAge(0),
+ m_nAppearanceAge(0),
m_nValueAge(0)
#ifdef PDF_ENABLE_XFA
,
@@ -757,9 +757,7 @@
bool bValueChanged) {
SetAppModified();
- m_nAppAge++;
- if (m_nAppAge > 999999)
- m_nAppAge = 0;
+ m_nAppearanceAge++;
if (bValueChanged)
m_nValueAge++;
@@ -1048,11 +1046,3 @@
CPDF_FormField* pFormField = GetFormField();
return pFormField->GetAlternateName();
}
-
-int32_t CPDFSDK_Widget::GetAppearanceAge() const {
- return m_nAppAge;
-}
-
-int32_t CPDFSDK_Widget::GetValueAge() const {
- return m_nValueAge;
-}
diff --git a/fpdfsdk/cpdfsdk_widget.h b/fpdfsdk/cpdfsdk_widget.h
index 5c63400..d33413a 100644
--- a/fpdfsdk/cpdfsdk_widget.h
+++ b/fpdfsdk/cpdfsdk_widget.h
@@ -130,8 +130,8 @@
void ClearAppModified();
bool IsAppModified() const;
- int32_t GetAppearanceAge() const;
- int32_t GetValueAge() const;
+ uint32_t GetAppearanceAge() const { return m_nAppearanceAge; }
+ uint32_t GetValueAge() const { return m_nValueAge; }
bool IsWidgetAppearanceValid(CPDF_Annot::AppearanceMode mode);
void DrawAppearance(CFX_RenderDevice* pDevice,
@@ -149,8 +149,8 @@
private:
CFX_UnownedPtr<CPDFSDK_InterForm> const m_pInterForm;
bool m_bAppModified;
- int32_t m_nAppAge;
- int32_t m_nValueAge;
+ uint32_t m_nAppearanceAge;
+ uint32_t m_nValueAge;
#ifdef PDF_ENABLE_XFA
mutable CFX_UnownedPtr<CXFA_FFWidget> m_hMixXFAWidget;
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
index e59cd05..fd569c7 100644
--- a/fpdfsdk/formfiller/cffl_formfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_formfiller.cpp
@@ -361,8 +361,8 @@
auto* pPrivateData = new CFFL_PrivateData;
pPrivateData->pWidget = m_pWidget.Get();
pPrivateData->pPageView = pPageView;
- pPrivateData->nWidgetAge = m_pWidget->GetAppearanceAge();
- pPrivateData->nValueAge = 0;
+ pPrivateData->nWidgetAppearanceAge = m_pWidget->GetAppearanceAge();
+ pPrivateData->nWidgetValueAge = 0;
cp.pAttachedData = pPrivateData;
CPWL_Wnd* pNewWnd = NewPDFWindow(cp);
m_Maps[pPageView] = pNewWnd;
@@ -370,11 +370,11 @@
}
auto* pPrivateData = static_cast<CFFL_PrivateData*>(pWnd->GetAttachedData());
- if (pPrivateData->nWidgetAge == m_pWidget->GetAppearanceAge())
+ if (pPrivateData->nWidgetAppearanceAge == m_pWidget->GetAppearanceAge())
return pWnd;
- return ResetPDFWindow(pPageView,
- m_pWidget->GetValueAge() == pPrivateData->nValueAge);
+ return ResetPDFWindow(
+ pPageView, pPrivateData->nWidgetValueAge == m_pWidget->GetValueAge());
}
void CFFL_FormFiller::DestroyPDFWindow(CPDFSDK_PageView* pPageView) {
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
index 425c2ad..989539f 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
@@ -122,7 +122,7 @@
if (pWidget->GetAAction(CPDF_AAction::CursorEnter).GetDict()) {
m_bNotifying = true;
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
pWidget->ClearAppModified();
ASSERT(pPageView);
@@ -154,9 +154,8 @@
CPDFSDK_Widget* pWidget = static_cast<CPDFSDK_Widget*>(pAnnot->Get());
if (pWidget->GetAAction(CPDF_AAction::CursorExit).GetDict()) {
m_bNotifying = true;
- pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
pWidget->ClearAppModified();
ASSERT(pPageView);
@@ -191,9 +190,8 @@
if (Annot_HitTest(pPageView, pAnnot->Get(), point) &&
pWidget->GetAAction(CPDF_AAction::ButtonDown).GetDict()) {
m_bNotifying = true;
- pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
pWidget->ClearAppModified();
ASSERT(pPageView);
@@ -271,8 +269,8 @@
m_bNotifying = true;
- int nAge = pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nAge = pWidget->GetAppearanceAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
ASSERT(pPageView);
PDFSDK_FieldAction fa;
@@ -376,9 +374,8 @@
CPDFSDK_Widget* pWidget = static_cast<CPDFSDK_Widget*>(pAnnot->Get());
if (pWidget->GetAAction(CPDF_AAction::GetFocus).GetDict()) {
m_bNotifying = true;
- pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
pWidget->ClearAppModified();
CFFL_FormFiller* pFormFiller = GetFormFiller(pWidget, true);
@@ -718,8 +715,8 @@
return false;
m_bNotifying = true;
- int nAge = pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nAge = pWidget->GetAppearanceAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
PDFSDK_FieldAction fa;
fa.bModifier = CPDFSDK_FormFillEnvironment::IsCTRLKeyDown(nFlag);
@@ -748,8 +745,8 @@
return false;
m_bNotifying = true;
- int nAge = pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nAge = pWidget->GetAppearanceAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
PDFSDK_FieldAction fa;
fa.bModifier = CPDFSDK_FormFillEnvironment::IsCTRLKeyDown(nFlag);
@@ -801,8 +798,8 @@
return false;
m_bNotifying = true;
- int nAge = pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nAge = pWidget->GetAppearanceAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
PDFSDK_FieldAction fa;
fa.bModifier = CPDFSDK_FormFillEnvironment::IsCTRLKeyDown(nFlag);
@@ -832,8 +829,8 @@
return false;
m_bNotifying = true;
- int nAge = pWidget->GetAppearanceAge();
- int nValueAge = pWidget->GetValueAge();
+ uint32_t nAge = pWidget->GetAppearanceAge();
+ uint32_t nValueAge = pWidget->GetValueAge();
PDFSDK_FieldAction fa;
fa.bModifier = CPDFSDK_FormFillEnvironment::IsCTRLKeyDown(nFlag);
@@ -888,8 +885,8 @@
CFX_AutoRestorer<bool> restorer(&m_bNotifying);
m_bNotifying = true;
- int nAge = privateData.pWidget->GetAppearanceAge();
- int nValueAge = privateData.pWidget->GetValueAge();
+ uint32_t nAge = privateData.pWidget->GetAppearanceAge();
+ uint32_t nValueAge = privateData.pWidget->GetValueAge();
CPDFSDK_FormFillEnvironment* pFormFillEnv =
privateData.pPageView->GetFormFillEnv();
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.h b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
index ddab2ad..0982f1d 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.h
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.h
@@ -157,8 +157,8 @@
public:
CPDFSDK_Widget* pWidget;
CPDFSDK_PageView* pPageView;
- int nWidgetAge;
- int nValueAge;
+ uint32_t nWidgetAppearanceAge;
+ uint32_t nWidgetValueAge;
};
#endif // FPDFSDK_FORMFILLER_CFFL_INTERACTIVEFORMFILLER_H_