patches/gnome-session-14-bad-clients.diff
author gheet
Fri, 13 Mar 2009 16:52:37 +0000
changeset 15388 9e0d1107facf
child 15635 0556629619ed
permissions -rw-r--r--
2009-03-13 ghee teo <[email protected]> Fixes 6753114 and doo#7289 for new session handling. * base-specs/gnome-session.spec: * patches/gnome-session-12-hide-preference-options.diff: removed * patches/gnome-session-13-access-save-session.diff: added. * patches/gnome-session-13-compiz-by-default.diff:renamed. * patches/gnome-session-14-bad-clients.diff: added.

diff -urN gnome-session-2.25.92/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.25.92/gnome-session/gsm-session-save.c	2009-03-03 16:58:00.000000000 +0000
+++ ../SUNWgnome-session-2.25.91.hacked/gnome-session-2.25.92/gnome-session/gsm-session-save.c	2009-03-13 13:45:06.315378000 +0000
@@ -28,6 +28,32 @@
 
 #include "gsm-session-save.h"
 
+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,
@@ -44,6 +70,9 @@
 
         client = GSM_CLIENT (object);
 
+	if (is_client_blacklisted (client))
+		return FALSE;
+
         local_error = NULL;
 
         keyfile = gsm_client_save (client, &local_error);