Index: fpdfsdk/fsdk_mgr.cpp |
diff --git a/fpdfsdk/fsdk_mgr.cpp b/fpdfsdk/fsdk_mgr.cpp |
index e0d78a21975ecd05df1987a9e546e6a2e7b7301c..8f479059540013ab12360f4efff661d481cb07e6 100644 |
--- a/fpdfsdk/fsdk_mgr.cpp |
+++ b/fpdfsdk/fsdk_mgr.cpp |
@@ -602,6 +602,8 @@ CPDFSDK_Annot* CPDFSDK_PageView::GetFXAnnotAtPoint(FX_FLOAT pageX, |
CPDFSDK_AnnotIterator annotIterator(this, false); |
while (CPDFSDK_Annot* pSDKAnnot = annotIterator.Next()) { |
CFX_FloatRect rc = pAnnotMgr->Annot_OnGetViewBBox(this, pSDKAnnot); |
+ if (pSDKAnnot->GetType() == "Popup") |
+ continue; |
if (rc.Contains(pageX, pageY)) |
return pSDKAnnot; |
} |
@@ -762,6 +764,7 @@ FX_BOOL CPDFSDK_PageView::OnLButtonDown(const CFX_FloatPoint& point, |
CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
ASSERT(pEnv); |
CPDFSDK_Annot* pFXAnnot = GetFXWidgetAtPoint(point.x, point.y); |
+ |
Lei Zhang
2016/08/27 02:16:53
nit: extra blank line?
jaepark
2016/08/29 21:19:25
Done.
|
if (!pFXAnnot) { |
KillFocusAnnot(nFlag); |
return FALSE; |
@@ -832,13 +835,13 @@ FX_BOOL CPDFSDK_PageView::OnLButtonUp(const CFX_FloatPoint& point, |
FX_BOOL CPDFSDK_PageView::OnMouseMove(const CFX_FloatPoint& point, int nFlag) { |
CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = pEnv->GetAnnotHandlerMgr(); |
- if (CPDFSDK_Annot* pFXAnnot = GetFXWidgetAtPoint(point.x, point.y)) { |
+ if (CPDFSDK_Annot* pFXAnnot = GetFXAnnotAtPoint(point.x, point.y)) { |
if (m_CaptureWidget && m_CaptureWidget != pFXAnnot) { |
m_bExitWidget = TRUE; |
m_bEnterWidget = FALSE; |
pAnnotHandlerMgr->Annot_OnMouseExit(this, m_CaptureWidget, nFlag); |
} |
- m_CaptureWidget = (CPDFSDK_Widget*)pFXAnnot; |
+ m_CaptureWidget = pFXAnnot; |
m_bOnWidget = TRUE; |
if (!m_bEnterWidget) { |
m_bEnterWidget = TRUE; |