[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/kde4/kdelibs/kdecore
From:       Caleb Tennis <caleb () gentoo ! org>
Date:       2005-07-12 1:22:55
Message-ID: 1121131375.598590.24742.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 433864 by ctennis:

Fix 433853 back to a singleton

 M  +9 -7      kapplication.cpp  


--- branches/work/kde4/kdelibs/kdecore/kapplication.cpp #433863:433864
@@ -563,9 +563,11 @@
 }
 
 // the help class for session management communication
-static QList<KSessionManaged *> sessionClients()
+static QList<KSessionManaged *>* sessionClients()
 {
-    static QList<KSessionManaged*> session_clients;
+    static QList<KSessionManaged*>* session_clients = 0L;
+    if ( !session_clients )
+         session_clients = new QList<KSessionManaged *>;
     return session_clients;
 }
 
@@ -1032,13 +1034,13 @@
 
 KSessionManaged::KSessionManaged()
 {
-    sessionClients().removeAll( this );
-    sessionClients().append( this );
+    sessionClients()->removeAll( this );
+    sessionClients()->append( this );
 }
 
 KSessionManaged::~KSessionManaged()
 {
-    sessionClients().removeAll( this );
+    sessionClients()->removeAll( this );
 }
 
 bool KSessionManaged::saveState(QSessionManager&)
@@ -1184,7 +1186,7 @@
     d->session_save = true;
     bool canceled = false;
 
-    foreach (KSessionManaged *it, sessionClients()) {
+    foreach (KSessionManaged *it, *sessionClients()) {
       if(canceled) break;
       canceled = !it->commitData( sm );
     }
@@ -1285,7 +1287,7 @@
     // finally: do session management
     emit saveYourself(); // for compatibility
     bool canceled = false;
-    foreach(KSessionManaged* it, sessionClients()) {
+    foreach(KSessionManaged* it, *sessionClients()) {
       if(canceled) break;
       canceled = !it->saveState( sm );
     }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic