--- a/patches/gnome-session-02-gnome-about.diff Tue Aug 05 12:47:12 2008 +0000
+++ b/patches/gnome-session-02-gnome-about.diff Tue Aug 05 13:04:30 2008 +0000
@@ -1,21 +1,12 @@
---- gnome-session-2.23.4/gnome-session/gsm.h-orig 2008-06-19 15:12:05.273155000 -0500
-+++ gnome-session-2.23.4/gnome-session/gsm.h 2008-06-19 15:12:29.015042000 -0500
-@@ -4,6 +4,9 @@
- #define GSM_GCONF_DEFAULT_SESSION_KEY "/desktop/gnome/session/default-session"
- #define GSM_GCONF_REQUIRED_COMPONENTS_DIRECTORY "/desktop/gnome/session/required-components"
+diff -urN session.orig/gnome-session/session.c session.new/gnome-session/session.c
+--- session.orig/gnome-session/session.c 2008-08-05 13:11:56.645264000 +0100
++++ session.new/gnome-session/session.c 2008-08-05 13:42:35.726774000 +0100
+@@ -636,12 +636,36 @@
+ end_phase (session);
+ }
-+/* Start gnome-about on first-time startup */
-+#define ABOUT_PROMPT_KEY "/desktop/gnome/session/sun_extensions/viewed_about_jds_three"
++#define ABOUT_PROMPT_KEY "/desktop/gnome/session/sun_extensions/viewed_about_jds_three"
+
- void gsm_initialization_error (gboolean fatal, const char *format, ...);
-
- extern GsmSession *global_session;
---- gnome-session-2.23.4/gnome-session/main.c-orig 2008-06-19 16:26:15.033705000 -0500
-+++ gnome-session-2.23.4/gnome-session/main.c 2008-06-19 16:34:42.940141000 -0500
-@@ -37,6 +37,21 @@ static GOptionEntry entries[] = {
- { NULL, 0, 0, 0, NULL, NULL, NULL }
- };
-
+static gint
+show_gnome_about (gpointer data)
+{
@@ -31,34 +22,19 @@
+ return FALSE;
+}
+
- /**
- * gsm_initialization_error:
- * @fatal: whether or not the error is fatal to the login session
-@@ -94,6 +109,8 @@ main (int argc, char **argv)
- char *display_str;
- Display *xdisp;
- GdkDisplay *gdisp;
+ void
+ gsm_session_start (GsmSession *session)
+ {
+ gboolean show_about;
+ GConfClient *gconf_client;
++
+ session->phase = GSM_SESSION_PHASE_INITIALIZATION;
- bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-@@ -143,6 +160,18 @@ main (int argc, char **argv)
-
- gsm_session_start (global_session);
-
+ start_phase (session);
++
+ gconf_client = gconf_client_get_default ();
+ show_about = gconf_client_get_bool (gconf_client, ABOUT_PROMPT_KEY, NULL);
-+
-+#ifndef HAVE_XTSOL
-+ if (! show_about)
-+ gtk_timeout_add (4000, show_gnome_about, NULL);
-+#else
-+ if (! trusted_session)
-+ if (! show_about)
-+ gtk_timeout_add (4000, show_gnome_about, NULL);
-+#endif
-+
- gtk_main ();
++ if (!show_about) gtk_timeout_add (4000, show_gnome_about, NULL);
+ }
- gsm_xsmp_shutdown ();
+ GsmSessionPhase