On Wed, 2010-11-17 at 23:13 +0100, Julien Nabet wrote:
Hello,
In the easy hacks, could it be possible to have more information on what
to do with timers ?
For example :
- what's a "leaked timer", is it the same as "permanent timer" that i
read on this http://qa.openoffice.org/issues/show_bug.cgi?id=106485 ?
- how to find a leaked timer ?
In vcl/source/app/timer.cxx stick a printf and gdb breakpoint at
Timer::Timeout. Run the app, e.g. starmath, draw, impress, etc.
Now, there's absolutely nothing wrong with timeouts. What's wrong is a
timeout that gets triggered for some condition and then never ends,
doing nothing at each timeout.
- how to correct them ? (must we delete them or change them ?)
Generally change them to come to a halt when whatever they want to do is
complete, and restart them if that condition arises again.
For example, the timer mpOnlineSpellingTimer that we can find in these
files :
impress/sd/inc/drawdoc.hxx
impress/sd/source/core/drawdoc4.cxx
impress/sd/source/core/drawdoc.cxx
Is this timer ok ? Is there something we can improve/optimize in it ?
This depends, and I think I made some modifications to that specific one
to fix it. What would happen is that changing/adding text would trigger
the spell checking time out, which was good, but when the spellcheck was
complete the timer would continue to timeout, wake up the processor,
find out that nothing new had been changed to spellcheck, go back and
snooze for a while, wake up, etc. So right fix was to end the timer when
the spellcheck was complete and launch a new one when text was modified
again.
Draw/Impress has a timer which unloads some resources after some time,
that's ok, it gets fired one and then goes away. I think the
spellchecking timers in sd and impress are good and eventually stop when
they're finished. calc and writer on the other hand are still
problematic, maybe quite hard to fix. If you look at calc I think it has
a timer which is launched off when calc is first started, and then that
timer never ends, even when calc is actually closed down :-)
C.
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.