diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp index f09dcd9df..505865c54 100644 --- a/ksmserver/server.cpp +++ b/ksmserver/server.cpp @@ -592,6 +592,7 @@ KSMServer::KSMServer( const TQString& windowManager, const TQString& windowManag state = Idle; dialogActive = false; saveSession = false; + m_startupCompleted = false; wmPhase1WaitingCount = 0; TDEConfig* config = TDEGlobal::config(); config->setGroup("General" ); @@ -990,3 +991,8 @@ bool KSMServer::defaultSession() const { return sessionGroup.isEmpty(); } + +bool KSMServer::startupCompleted() +{ + return m_startupCompleted; +} diff --git a/ksmserver/server.h b/ksmserver/server.h index bc677752c..a90ef43ac 100644 --- a/ksmserver/server.h +++ b/ksmserver/server.h @@ -61,6 +61,7 @@ k_dcop: void autoStart2Done(); void kcmPhase1Done(); void kcmPhase2Done(); + bool startupCompleted(); public: KSMServer( const TQString& windowManager, const TQString& windowManagerAddArgs, bool only_local ); ~KSMServer(); @@ -181,7 +182,7 @@ private: TQString windowWmClientMachine(WId w); WId windowWmClientLeader(WId w); TQCString windowSessionId(WId w, WId leader); - + bool checkStartupSuspend(); void finishStartup(); void resumeStartupInternal(); @@ -235,6 +236,7 @@ private: TQTimer startupSuspendTimeoutTimer; bool waitAutoStart2; bool waitKcmInit2; + bool m_startupCompleted; TQTimer pendingShutdown; TDEApplication::ShutdownConfirm pendingShutdown_confirm; TDEApplication::ShutdownType pendingShutdown_sdtype; diff --git a/ksmserver/startup.cpp b/ksmserver/startup.cpp index b1ed9992e..fb9e696ec 100644 --- a/ksmserver/startup.cpp +++ b/ksmserver/startup.cpp @@ -389,6 +389,7 @@ void KSMServer::finishStartup() startupNotifierIPDlg=0; } + m_startupCompleted = true; setupXIOErrorHandler(); // From now on handle X errors as normal shutdown. }