DLLEXPORT void STDCALL FPDF_ClosePage(FPDF_PAGE page) { if (!page) return; CPDFSDK_PageView* pPageView = (CPDFSDK_PageView*)(((CPDF_Page*)page))->GetPrivateData((void*)page); if (pPageView && pPageView->IsLocked()) { pPageView->TakeOverPage(); return; } delete (CPDF_Page*)page; }
void CPDFSDK_Document::ReMovePageView(CPDF_Page* pPDFPage) { auto it = m_pageMap.find(pPDFPage); if (it == m_pageMap.end()) return; CPDFSDK_PageView* pPageView = it->second; if (pPageView->IsLocked()) return; delete pPageView; m_pageMap.erase(it); }