diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index 1bc98b5..1f164e9 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -1912,11 +1912,8 @@ IMPL_LINK( ScModule, IdleHandler, Timer*, EMPTYARG ) BOOL bLinks = pDoc->IdleCheckLinks(); BOOL bWidth = pDoc->IdleCalcTextWidth(); - BOOL bSpell = pDoc->ContinueOnlineSpelling(); - if ( bSpell ) - aSpellTimer.Start(); // da ist noch was - bMore = bLinks || bWidth || bSpell; // ueberhaupt noch was? + bMore = bLinks || bWidth; // ueberhaupt noch was? // While calculating a Basic formula, a paint event may have occured, // so check the bNeedsRepaint flags for this document's views @@ -1956,15 +1953,27 @@ IMPL_LINK( ScModule, SpellTimerHdl, Timer*, EMPTYARG ) if ( Application::AnyInput( INPUT_KEYBOARD ) ) { aSpellTimer.Start(); - return 0; // dann spaeter wieder... } - - ScDocShell* pDocSh = PTR_CAST( ScDocShell, SfxObjectShell::Current() ); - if ( pDocSh ) + else { - ScDocument* pDoc = pDocSh->GetDocument(); - if ( pDoc->ContinueOnlineSpelling() ) - aSpellTimer.Start(); + + ScDocShell* pDocSh = PTR_CAST( ScDocShell, SfxObjectShell::Current() ); + if ( pDocSh ) + { + ScDocument* pDoc = pDocSh->GetDocument(); + if ( pDoc->ContinueOnlineSpelling() ) + { + aSpellTimer.Start(); + } + else + { + aSpellTimer.Stop(); + } + } + else + { + aSpellTimer.Stop(); + } } return 0; }