| Index: pdf/pdfium/pdfium_engine.cc
|
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
|
| index 0cc8b2613ce156ffcc32300872e604caeb166d8a..e00be780804ea77b5b569973cef187df1c3d9a70 100644
|
| --- a/pdf/pdfium/pdfium_engine.cc
|
| +++ b/pdf/pdfium/pdfium_engine.cc
|
| @@ -677,8 +677,16 @@ PDFiumEngine::~PDFiumEngine() {
|
|
|
| if (doc_) {
|
| FORM_DoDocumentAAction(form_, FPDFDOC_AACTION_WC);
|
| +
|
| +#ifdef PDF_USE_XFA
|
| + // XFA may require |form_| to outlive |doc_|, so shut down in that order.
|
| FPDF_CloseDocument(doc_);
|
| FPDFDOC_ExitFormFillEnvironment(form_);
|
| +#else
|
| + // Normally |doc_| should outlive |form_|.
|
| + FPDFDOC_ExitFormFillEnvironment(form_);
|
| + FPDF_CloseDocument(doc_);
|
| +#endif
|
| }
|
| FPDFAvail_Destroy(fpdf_availability_);
|
|
|
|
|