| Index: fpdfsdk/formfiller/cffl_formfiller.cpp
|
| diff --git a/fpdfsdk/formfiller/cffl_formfiller.cpp b/fpdfsdk/formfiller/cffl_formfiller.cpp
|
| index 7aeda57c2e3950f0bb29f84e80e4c86e088a0c04..827b9b09ca829dd8d89b8c68619a7f81f0e66525 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)
|
|
|