Help understanding Impress animation sidebar timer

Brian Fraser brian at
Tue Sep 25 06:40:47 UTC 2018


I'm looking for someone to help me understand why Impress uses a timer to
"rebuild the API core from the internal structure", i.e. the
MainSequence::maTimer in MainSequence::startRebuildTimer().

I'm working on Bug 118065 (Impress: "UI - Reordering animations is
extremely slow"). I've walked through the code and found the UI does not
redraw the animation list sidebar until after the maTimer expires (timer
currently set to 0.5s). This means that almost anything you do with editing
an animation has a half-second UI lag.

Why is this done on a timer? The code *seems* to function OK if the timer
is made shorter (0.05s), or even if I call implRebuild() directly from
MainSequnec::startRebuildTimer() (i.e., not use the timer). What kind of
things could go wrong by calling it without the timer, or making the timer
very very short?

Thank you for pointing me in the right direction!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the LibreOffice mailing list