summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Bellaby <felix@src.gnome.org>1999-02-10 22:57:21 +0000
committerFelix Bellaby <felix@src.gnome.org>1999-02-10 22:57:21 +0000
commit110ceb80bcce0644d2b0fea5de302b5a94472d00 (patch)
treeb3713e527717e9d144b517aef95902fcdee73542
parente9990b00b5ccde3e9b0cd33005566263747cf32f (diff)
downloadgnome-session-110ceb80bcce0644d2b0fea5de302b5a94472d00.tar.gz
do not call discard commands on clients in the pending_list. export
* save.c (delete_session): do not call discard commands on clients in the pending_list. * manager.c: export pending_list to save.c
-rw-r--r--gnome-session/ChangeLog6
-rw-r--r--gnome-session/manager.c2
-rw-r--r--gnome-session/save.c4
3 files changed, 11 insertions, 1 deletions
diff --git a/gnome-session/ChangeLog b/gnome-session/ChangeLog
index 19dd1a10..6f33c539 100644
--- a/gnome-session/ChangeLog
+++ b/gnome-session/ChangeLog
@@ -1,3 +1,9 @@
+1999-02-10 Felix Bellaby <felix@pooh.u-net.com>
+
+ * save.c (delete_session): do not call discard commands on clients
+ in the pending_list.
+ * manager.c: export pending_list to save.c
+
1999-02-09 Felix Bellaby <felix@pooh.u-net.com>
* manager.c (close_connection): restart RestartImmediately clients
diff --git a/gnome-session/manager.c b/gnome-session/manager.c
index fd75d9a0..f173457b 100644
--- a/gnome-session/manager.c
+++ b/gnome-session/manager.c
@@ -43,7 +43,7 @@ static GSList *load_request_list = NULL;
static GSList *start_list = NULL;
/* List of clients which have been started but have yet to register */
-static GSList *pending_list = NULL;
+GSList *pending_list = NULL;
/* List of clients which have been purged from the pending list
since they have failed to register within our timeout. */
diff --git a/gnome-session/save.c b/gnome-session/save.c
index ca921c9b..96a27b5e 100644
--- a/gnome-session/save.c
+++ b/gnome-session/save.c
@@ -44,6 +44,7 @@ static char *session_name = NULL;
extern gboolean base_loaded;
extern GSList* live_list;
extern GSList* zombie_list;
+extern GSList* pending_list;
typedef enum
{
@@ -416,6 +417,9 @@ delete_session (const char *name)
cur_client = find_client_by_id (zombie_list, old_client->id);
if (!cur_client)
cur_client = find_client_by_id (live_list, old_client->id);
+ /* Or perhaps one that we are restarting ? */
+ if (!cur_client)
+ cur_client = find_client_by_id (pending_list, old_client->id);
if (find_vector_property (old_client, SmDiscardCommand,
&old_argc, &old_argv))