16851N/Adiff -urN -x '*.orig' gnome-session-2.27.4/gnome-session/gsm-manager.c ../SUNWgnome-session-2.26.1.hacked/gnome-session-2.27.4/gnome-session/gsm-manager.c
16851N/A--- gnome-session-2.27.4/gnome-session/gsm-manager.c 2009-07-23 15:42:09.679931892 +0100
16851N/A+++ ../SUNWgnome-session-2.26.1.hacked/gnome-session-2.27.4/gnome-session/gsm-manager.c 2009-07-23 15:50:29.967601535 +0100
16372N/A@@ -376,6 +376,22 @@
16372N/A }
13855N/A
13855N/A static void start_phase (GsmManager *manager);
13771N/A+#define ABOUT_PROMPT_KEY "/desktop/gnome/session/sun_extensions/viewed_about_jds_three"
13494N/A+
13494N/A+static gint
13494N/A+show_gnome_about (gpointer data)
13494N/A+{
16372N/A+ int status;
13494N/A+
16372N/A+ if (g_spawn_command_line_async("gnome-about", NULL))
16372N/A+ {
16372N/A+ GConfClient *gconf_client = gconf_client_get_default ();
16372N/A+ gconf_client_set_bool (gconf_client, ABOUT_PROMPT_KEY, TRUE, NULL);
16372N/A+ g_object_unref (gconf_client);
16372N/A+ }
13494N/A+
16372N/A+ return FALSE;
13494N/A+}
16372N/A
13855N/A static void
16372N/A quit_request_completed (GsmConsolekit *consolekit,
16372N/A@@ -1276,6 +1292,9 @@
13855N/A void
13855N/A gsm_manager_start (GsmManager *manager)
13855N/A {
13855N/A+ gboolean show_about;
13855N/A+ GConfClient *gconf_client;
13771N/A+
13855N/A g_debug ("GsmManager: GSM starting to manage");
13798N/A
13855N/A g_return_if_fail (GSM_IS_MANAGER (manager));
16851N/A@@ -1283,6 +1302,13 @@
16081N/A gsm_manager_set_phase (manager, GSM_MANAGER_PHASE_INITIALIZATION);
13960N/A debug_app_summary (manager);
13855N/A start_phase (manager);
13771N/A+
16851N/A+ /* Do not attempt to show gnome-about dialog if user is gdm (uid 50) */
16851N/A+ if (getuid()==50)
16851N/A+ return;
13855N/A+ gconf_client = gconf_client_get_default ();
13855N/A+ show_about = gconf_client_get_bool (gconf_client, ABOUT_PROMPT_KEY, NULL);
13855N/A+ if (!show_about) gtk_timeout_add (4000, show_gnome_about, NULL);
13771N/A }
13494N/A
13855N/A static gboolean