[Libreoffice-bugs] [Bug 130326] XLSX: Long time for file opens and using 100% of one core of CPU after opening

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Sat Apr 24 20:04:10 UTC 2021


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

--- Comment #39 from Caolán McNamara <caolanm at redhat.com> ---
Those constant refreshes on each click in a cell are since:

commit b41332475783c31136673fb44cf4c411bb0148f8
Author: Steve Yin <steve_y at apache.org>
Date:   Mon Dec 2 15:54:29 2013 +0000

    Integrate branch of IAccessible2

in sc/source/ui/navipi/navipi.cxx with

+ case FID_KILLEDITVIEW:
+     aLbEntries.ObjectFresh( SC_CONTENT_OLEOBJECT );
+     aLbEntries.ObjectFresh( SC_CONTENT_DRAWING );
+     aLbEntries.ObjectFresh( SC_CONTENT_GRAPHIC );
+     break;

even though we already have a handler of

 case SfxHintId::ScDrawChanged:
     m_xLbEntries->Refresh( ScContentId::GRAPHIC );
     m_xLbEntries->Refresh( ScContentId::OLEOBJECT );
     m_xLbEntries->Refresh( ScContentId::DRAWING );
     break;

and those "Refresh" as opposed to "ObjectFresh" try not to clear and refill the
navigator unless content has changed.

and that ObjectFresh seems to really center on the use of "sKeyString" which is
only set by ScContentTree::KeyInputHdl (in that same commit) if space is used
to select an entry with the comment "Make KEY_SPACE has same function as
DoubleClick".

I suspect ObjectFresh is a cut and paste job from Refresh that just wants to
keep the same item selected (and expanded) in the navigator that was selected
by the user before any content change that might cause the navigator to refill

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210424/e976a3d3/attachment.htm>


More information about the Libreoffice-bugs mailing list