Hi,

> -DECLARE_TABLE( SwBookmarkNodeTable, SvPtrarr* )
> +typedef std::multimap<sal_uLong, const ::sw::mark::IMark*> SwBookmarkNodeTable;
...

> +    SwBookmarkNodeTable aBkmkNodePos;
...

> -    SvPtrarr* pArr = (m_pImpl->pBkmkNodePos) ?
> -        m_pImpl->pBkmkNodePos->Get( nNd ) : 0;
> -    if( pArr )
> + SwBookmarkNodeTable::const_iterator it = m_pImpl->aBkmkNodePos.find( nNd );
> +    if( it != m_pImpl->aBkmkNodePos.end() )
>      {
> // there exist some bookmarks, search now all which is in the range
>          if( !nStt && nEnd == rNd.Len() )
>              // all
> -            rArr.Insert( pArr, 0 );
> +            for( ; it != m_pImpl->aBkmkNodePos.end(); ++it )
> +                rArr.push_back( it->second );

If SwBookmarkNodeTable is a multimap, then to get all values with the same key you have to use multimap::equal_range, not multimap::find, right?

Sorry, I am completely tired now and can easily produce false conclusions. %-)

Regards,
Ivan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to