| Index: fpdfsdk/src/fpdfdoc.cpp
|
| diff --git a/fpdfsdk/src/fpdfdoc.cpp b/fpdfsdk/src/fpdfdoc.cpp
|
| index 05b151e0a7a72cc894a651377f5ebebf206ec283..b7702956047e00d7dfabc30a134573b4298208b4 100644
|
| --- a/fpdfsdk/src/fpdfdoc.cpp
|
| +++ b/fpdfsdk/src/fpdfdoc.cpp
|
| @@ -201,7 +201,10 @@ DLLEXPORT unsigned long STDCALL FPDFDest_GetPageIndex(FPDF_DOCUMENT document,
|
|
|
| DLLEXPORT FPDF_LINK STDCALL
|
| FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, double y) {
|
| - CPDF_Page* pPage = (CPDF_Page*)page;
|
| + CPDF_Page* pPage = CPDFPageFromFPDFPage(page);
|
| + if (!pPage)
|
| + return nullptr;
|
| +
|
| CPDF_LinkList* pLinkList = GetLinkList(pPage);
|
| if (!pLinkList)
|
| return nullptr;
|
| @@ -212,7 +215,10 @@ FPDFLink_GetLinkAtPoint(FPDF_PAGE page, double x, double y) {
|
|
|
| DLLEXPORT int STDCALL
|
| FPDFLink_GetLinkZOrderAtPoint(FPDF_PAGE page, double x, double y) {
|
| - CPDF_Page* pPage = (CPDF_Page*)page;
|
| + CPDF_Page* pPage = CPDFPageFromFPDFPage(page);
|
| + if (!pPage)
|
| + return -1;
|
| +
|
| CPDF_LinkList* pLinkList = GetLinkList(pPage);
|
| if (!pLinkList)
|
| return -1;
|
| @@ -251,10 +257,10 @@ DLLEXPORT FPDF_ACTION STDCALL FPDFLink_GetAction(FPDF_LINK pDict) {
|
| DLLEXPORT FPDF_BOOL STDCALL FPDFLink_Enumerate(FPDF_PAGE page,
|
| int* startPos,
|
| FPDF_LINK* linkAnnot) {
|
| - if (!page || !startPos || !linkAnnot)
|
| + if (!startPos || !linkAnnot)
|
| return FALSE;
|
| - CPDF_Page* pPage = (CPDF_Page*)page;
|
| - if (!pPage->m_pFormDict)
|
| + CPDF_Page* pPage = CPDFPageFromFPDFPage(page);
|
| + if (!pPage || !pPage->m_pFormDict)
|
| return FALSE;
|
| CPDF_Array* pAnnots = pPage->m_pFormDict->GetArray("Annots");
|
| if (!pAnnots)
|
|
|