| Index: fpdfsdk/javascript/Document.cpp
|
| diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
|
| index 29f97648063381c2609b8c447336af2674bba997..7e4dc260f2b4e130f6a12a8345a209164cb02279 100644
|
| --- a/fpdfsdk/javascript/Document.cpp
|
| +++ b/fpdfsdk/javascript/Document.cpp
|
| @@ -506,12 +506,16 @@ bool Document::removeField(IJS_Context* cc,
|
| CJS_Runtime* pRuntime = pContext->GetJSRuntime();
|
| CFX_WideString sFieldName = params[0].ToCFXWideString(pRuntime);
|
| CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
|
| - std::vector<CPDFSDK_Widget*> widgets;
|
| + std::vector<CPDFSDK_Annot::ObservedPtr> widgets;
|
| pInterForm->GetWidgets(sFieldName, &widgets);
|
| if (widgets.empty())
|
| return true;
|
|
|
| - for (CPDFSDK_Widget* pWidget : widgets) {
|
| + for (const auto& pAnnot : widgets) {
|
| + CPDFSDK_Widget* pWidget = static_cast<CPDFSDK_Widget*>(pAnnot.Get());
|
| + if (!pWidget)
|
| + continue;
|
| +
|
| CFX_FloatRect rcAnnot = pWidget->GetRect();
|
| --rcAnnot.left;
|
| --rcAnnot.bottom;
|
|
|