diff -urN gnome-session-2.26.1/gnome-session/gsm-session-save.c ../SUNWgnome-session-2.25.91.hacked/gnome-session-2.25.92/gnome-session/gsm-session-save.c
--- gnome-session-2.26.1/gnome-session/gsm-session-save.c 2009-03-03 16:58:00.000000000 +0000
+++ ../SUNWgnome-session-2.26.1.hacked/gnome-session-2.25.92/gnome-session/gsm-session-save.c 2009-03-13 13:45:06.315378000 +0000
@@ -37,6 +37,31 @@ typedef struct {
GError **error;
} SessionSaveData;
+char *blacklisted_app[] = {
+ "ospm-applet",
+ "nwam-manager",
+ NULL
+};
+
+static gboolean
+is_client_blacklisted (GsmClient *client)
+{
+ char *name=NULL;
+ int i;
+
+ name = gsm_client_get_app_name (client);
+ if (name)
+ g_debug ("is_client_blacklisted: %s", name);
+ else
+ return FALSE;
+
+ for (i=0; blacklisted_app[i] != NULL; i++) {
+ if (strcmp (name, blacklisted_app[i]) == 0)
+ return TRUE;
+ }
+ return FALSE;
+}
+
static gboolean
save_one_client (char *id,
GObject *object,
@@ -53,6 +78,9 @@ save_one_client (char *id,
client = GSM_CLIENT (object);
+ if (is_client_blacklisted (client))
+ return FALSE;
+
local_error = NULL;
keyfile = gsm_client_save (client, &local_error);