Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


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.