| Summary: | regression: Since 3.5.4 KDE does not seem to wait for apps to quit before shutting down | ||
|---|---|---|---|
| Product: | [Unmaintained] ksmserver | Reporter: | S. Burmeister <sven.burmeister> |
| Component: | general | Assignee: | Lubos Lunak <l.lunak> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
S. Burmeister
2006-08-26 23:10:38 UTC
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()
|