[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/ksmserver
From: Sebastian Sauer <mail () dipe ! org>
Date: 2009-11-11 23:55:49
Message-ID: 1257983749.926355.16343.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1047743 by sebsauer:
and revert r1044276 again. No faster startup yet :-(
M +1 -0 server.h
M +11 -4 startup.cpp
--- trunk/KDE/kdebase/workspace/ksmserver/server.h #1047742:1047743
@@ -122,6 +122,7 @@
void protectionTimeout();
void timeoutQuit();
void timeoutWMQuit();
+ void kcmPhase1Timeout();
void kcmPhase2Timeout();
void pendingShutdownTimeout();
--- trunk/KDE/kdebase/workspace/ksmserver/startup.cpp #1047742:1047743
@@ -155,8 +155,7 @@
// but in such case care only about the process of the first one
for (int i = 1; i < wmStartCommands.count(); i++)
startApplication( wmStartCommands[i] );
-
- QTimer::singleShot( 0, this, SLOT( autoStart0() ) ); // start immediately
+ QTimer::singleShot( 4000, this, SLOT( autoStart0() ) );
}
void KSMServer::clientSetProgram( KSMClient* client )
@@ -211,11 +210,10 @@
kWarning() << "kcminit not running?" ;
connect( kcminitSignals, SIGNAL( phase1Done()), SLOT( kcmPhase1Done()));
state = KcmInitPhase1;
+ QTimer::singleShot( 10000, this, SLOT( kcmPhase1Timeout())); // protection
org::kde::KCMInit kcminit("org.kde.kcminit", "/kcminit" , QDBusConnection::sessionBus());
kcminit.runPhase1();
-
- QTimer::singleShot( 0, this, SLOT(autoStart1()) ); // start immediately
}
void KSMServer::kcmPhase1Done()
@@ -224,8 +222,17 @@
return;
kDebug( 1218 ) << "Kcminit phase 1 done";
disconnect( kcminitSignals, SIGNAL( phase1Done()), this, SLOT( kcmPhase1Done()));
+ autoStart1();
}
+void KSMServer::kcmPhase1Timeout()
+{
+ if( state != KcmInitPhase1 )
+ return;
+ kDebug( 1218 ) << "Kcminit phase 1 timeout";
+ kcmPhase1Done();
+}
+
void KSMServer::autoStart1()
{
if( state != KcmInitPhase1 )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic