[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