FX_BOOL CPDFSDK_Document::SetFocusAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag) { if (m_bBeingDestroyed) return FALSE; if (m_pFocusAnnot == pAnnot) return TRUE; if (m_pFocusAnnot) { if (!KillFocusAnnot(nFlag)) return FALSE; } CPDFSDK_PageView* pPageView = pAnnot->GetPageView(); if (pAnnot && pPageView->IsValid()) { CPDFSDK_AnnotHandlerMgr* pAnnotHandler = m_pEnv->GetAnnotHandlerMgr(); if (!m_pFocusAnnot) { if (!pAnnotHandler->Annot_OnSetFocus(pAnnot, nFlag)) return FALSE; if (!m_pFocusAnnot) { m_pFocusAnnot = pAnnot; return TRUE; } } } return FALSE; }