Version: (using KDE KDE 3.5.4) Installed from: SuSE RPMs OS: Linux Since I isntalled 3.5.4 it often happens that on next startup e.g. kontact tells me that it is already running. Obviously it is not, but it was not shut down properly and hence the lock-file not removed. Read emails re-appear as unread. Same for kmix, i.e. it does not save the mute state. amarok sometimes does not get restarted, i.e. was apparently not saved as part of the session. This did not happen in 3.5.3.
SVN commit 578861 by lunakl: Increase timeout during session saving and killing. BUG: 133044 M +2 -2 server.h M +12 -2 shutdown.cpp --- branches/KDE/3.5/kdebase/ksmserver/server.h #578860:578861 @@ -126,8 +126,8 @@ void discardSession(); void storeSession(); - void startProtection() { protectionTimer.start( 8000, TRUE ); } - void endProtection() { protectionTimer.stop(); } + void startProtection(); + void endProtection(); void startApplication( QStringList command, const QString& clientMachine = QString::null, --- branches/KDE/3.5/kdebase/ksmserver/shutdown.cpp #578860:578861 @@ -359,6 +359,16 @@ state = Idle; } +void KSMServer::startProtection() +{ + protectionTimer.start( 10000, true ); +} + +void KSMServer::endProtection() +{ + protectionTimer.stop(); +} + /* Internal protection slot, invoked when clients do not react during shutdown. @@ -445,7 +455,7 @@ for ( KSMClient* c = clients.first(); c; c = clients.next() ) { if( isWM( c )) { kdDebug( 1218 ) << "Killing WM: " << c->program() << "(" << c->clientId() << ")" << endl; - QTimer::singleShot( 1000, this, SLOT( timeoutWMQuit())); + QTimer::singleShot( 2000, this, SLOT( timeoutWMQuit())); SmsDie( c->connection()); return; } @@ -467,7 +477,7 @@ kdDebug( 1218 ) << " We killed all clients. We have now clients.count()=" << clients.count() << endl; completeKilling(); - QTimer::singleShot( 4000, this, SLOT( timeoutQuit() ) ); + QTimer::singleShot( 10000, this, SLOT( timeoutQuit() ) ); } void KSMServer::completeKilling()