| Index: fpdfsdk/javascript/Document.cpp
|
| diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
|
| index c1381f5865d0fe481479c5b3f45e44646d4fb53d..d8e36227e5b54eeed1fdad8286bc7209c8b10076 100644
|
| --- a/fpdfsdk/javascript/Document.cpp
|
| +++ b/fpdfsdk/javascript/Document.cpp
|
| @@ -463,7 +463,7 @@ FX_BOOL Document::print(IJS_Context* cc,
|
|
|
| // removes the specified field from the document.
|
| // comment:
|
| -// note: if the filed name is not retional, adobe is dumb for it.
|
| +// note: if the filed name is not rational, adobe is dumb for it.
|
|
|
| FX_BOOL Document::removeField(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| @@ -500,9 +500,14 @@ FX_BOOL Document::removeField(IJS_Context* cc,
|
| UnderlyingPageType* pPage = pWidget->GetUnderlyingPage();
|
| ASSERT(pPage);
|
|
|
| - CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage, true);
|
| - pPageView->DeleteAnnot(pWidget);
|
| - pPageView->UpdateRects(aRefresh);
|
| + // If there is currently no pageview associated with the page being used
|
| + // do not create one. We may be in the process of tearing down the document
|
| + // and creating a new pageview at this point will cause bad things.
|
| + CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage, false);
|
| + if (pPageView) {
|
| + pPageView->DeleteAnnot(pWidget);
|
| + pPageView->UpdateRects(aRefresh);
|
| + }
|
| }
|
| m_pDocument->SetChangeMark();
|
|
|
|
|