From facd0157ce975158da1659fb58a16c1308bd553b Mon Sep 17 00:00:00 2001 From: Bo Xu Date: Wed, 24 Sep 2014 10:49:52 -0700 Subject: Lock page in LoadFXAnnot to prevent unintended page closing BUG=410326 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/594403003 --- fpdfsdk/src/fpdfview.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'fpdfsdk/src/fpdfview.cpp') diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp index 49dabe300b..bd49862e1c 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -5,6 +5,7 @@ // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #include "../include/fsdk_define.h" +#include "../include/fsdk_mgr.h" #include "../include/fpdfview.h" #include "../include/fsdk_rendercontext.h" #include "../include/fpdf_progressive.h" @@ -591,6 +592,11 @@ DLLEXPORT void STDCALL FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, FPDF_PAGE page, DLLEXPORT void STDCALL FPDF_ClosePage(FPDF_PAGE page) { if (!page) return; + CPDFSDK_PageView* pPageView = (CPDFSDK_PageView*)(((CPDF_Page*)page))->GetPrivateData((FX_LPVOID)page); + if (pPageView && pPageView->IsLocked()) { + pPageView->TakeOverPage(); + return; + } delete (CPDF_Page*)page; } -- cgit v1.2.3