On Wed, Nov 24, 2010 at 11:37:53PM +0100, Julien Nabet wrote: > > You said that aSpellTimer is only restarted in SpellTimerHdl but i > saw line 1915 in the function IMPL_LINK( ScModule, IdleHandler, > Timer*, EMPTYARG ) > BOOL bSpell = pDoc->ContinueOnlineSpelling(); > if ( bSpell ) > aSpellTimer.Start(); // > da ist noch was
What I meant was "restarted during run of the handler". I wanted to show the difference between the two timers: the idle timer is restarted _always_, but the spell timer may or may not be restarted, depending on circumstances. Of course the timer may be started from another place, otherwise it wouldn't be possible to run it again once it stopped. > > Is it normal we find a Start calling of aSpellTimer in IMPL_LINK of > IdleHandler ? The spell timer must be restarted when there is something new to check spelling of. I suppose it's done from idle timer because it's convenient: the idle timer is always running and it's in one place. > > For the rest, i understand that aIdleTimer is always started because > of this following line at the end of this same function, there's an > unconditionnal : > aIdleTimer.Start(); > > It could help if we had the english translation of german comments > (i know there's currently an "easy task" for this and that it must > be quite tedious to translate all the comments) but could someone > just translate this ? > // ueberhaupt noch was? > and above all, this ? > // SC_IDLE_COUNT mal mit initialem Timeout, dann hochzaehlen > > > Perhaps just an idea for this timer. If it should be started only if > there's something to do, i'd move these lines : > aIdleTimer.Start(); > return 0; > > at the end of the block : > if ( bMore ) > That would mean the timer runs while there is something to do, then stops and is never started again, which is obviously wrong. The timer will have to be started from other parts of code, when the "right" conditions are recreated (or maybe just started unconditionally; it will stop immediately if there is nothing to do, anyway). Don't ask me what the "other parts" are; I don't know that .-) As for the spell timer, the right place to restart it could be ScInputHandler::KeyInput or ScTabViewShell::KeyInput. D. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice