https://bugs.documentfoundation.org/show_bug.cgi?id=145043

--- Comment #7 from Jim Raykowski <[email protected]> ---
(In reply to David from comment #6)
> Specifically, it seems to be the command
> 'rFormatFootnote.GetFootnoteText(*m_pWrtShell->GetLayout())' that is the
> issue.  
Yes, that is what I have discovered as well.

> Maybe I'm mistaken, but from what I can tell, the 'for (SwTextFootnote*
> pTextFootnote : rFootnoteIdxs)' loop is iterating through all
> footnotes/endnotes for every edit.
Yep, every second when focus is in the document it is filled and checked
against the content in the tree to determine if a change was made in the
document. 
See IMPL_LINK_NOARG(SwContentTree, TimerUpdate, Timer *, void)
and SwContentTree::HasContentChanged()

> Might it be possible and more efficient
> to only do that on only an insertion or deletion of a footnote/endnote and
> only change the specific footnote/endnote on an edit.
Might be possible and definitely would be more efficient. Same goes for all the
other member lists.

I optimizing the Footnote member list code but chrono tests showed no
improvement in the effort. The big time consumer is the GetFootnoteText call.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to