diff options
Diffstat (limited to 'fpdfsdk/formfiller/cffl_formfiller.cpp')
-rw-r--r-- | fpdfsdk/formfiller/cffl_formfiller.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp index 7aeda57c2e..827b9b09ca 100644 --- a/fpdfsdk/formfiller/cffl_formfiller.cpp +++ b/fpdfsdk/formfiller/cffl_formfiller.cpp @@ -527,22 +527,21 @@ FX_BOOL CFFL_FormFiller::CommitData(CPDFSDK_PageView* pPageView, FX_BOOL bExit = FALSE; CFFL_InteractiveFormFiller* pFormFiller = m_pEnv->GetInteractiveFormFiller(); - pFormFiller->OnKeyStrokeCommit(m_pWidget, pPageView, bRC, bExit, nFlag); - if (bExit) + CPDFSDK_Annot::ObservedPtr pObserved(m_pWidget); + pFormFiller->OnKeyStrokeCommit(&pObserved, pPageView, bRC, bExit, nFlag); + if (!pObserved || bExit) return TRUE; if (!bRC) { ResetPDFWindow(pPageView, FALSE); return TRUE; } - - pFormFiller->OnValidate(m_pWidget, pPageView, bRC, bExit, nFlag); - if (bExit) + pFormFiller->OnValidate(&pObserved, pPageView, bRC, bExit, nFlag); + if (!pObserved || bExit) return TRUE; if (!bRC) { ResetPDFWindow(pPageView, FALSE); return TRUE; } - SaveData(pPageView); pFormFiller->OnCalculate(m_pWidget, pPageView, bExit, nFlag); if (bExit) |