bool IE_Exp_HTML_BookmarkListener::populate(fl_ContainerLayout* /*sfh*/, const PX_ChangeRecord * pcr) { switch (pcr->getType()) { case PX_ChangeRecord::PXT_InsertObject: { const PX_ChangeRecord_Object * pcro = 0; pcro = static_cast<const PX_ChangeRecord_Object *> (pcr); PT_AttrPropIndex api = pcr->getIndexAP(); switch (pcro->getObjectType()) { case PTO_Bookmark: { const PP_AttrProp * pAP = 0; bool bHaveProp = (api ? (m_pDoc->getAttrProp(api, &pAP)) : false); if (!bHaveProp || (pAP == 0)) return true; const gchar * szType = 0; pAP->getAttribute("type", szType); if (szType == 0) return true; // ?? if (g_ascii_strcasecmp(szType, "start") == 0) { const gchar * szName = 0; pAP->getAttribute("name", szName); if (szName) { UT_UTF8String escape = szName; escape.escapeURL(); m_pNavigationHelper->getBookmarks()[escape] = m_pNavigationHelper->getFilenameByPosition( pcr->getPosition()); } } return true; } default: return true; } } default: return true; } }