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. _______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
