From 5da13b5216836c4ed09a9c6afe5fd9355316d732 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mon, 4 Jul 2011 17:47:56 +0100 Subject: [PATCH] Update to 3.1.3 --- .gitignore | 1 + ...erform-actions-after-a-period-of-idl.patch | 596 ------------------ 0001-Return-0-on-success.patch | 24 - ...ager_get-does-not-return-a-reference.patch | 54 -- ...sider-Gallium-s-softpipe-and-llvmpip.patch | 36 -- fix-crashity-crash-crash.patch | 35 - gnome-session-2.17.5-window-manager.patch | 51 -- gnome-session-cflags.patch | 14 - gnome-session-libs.patch | 22 - gnome-session.spec | 5 +- nag-root-user.patch | 154 ----- prevent-inhibitor-dialog.patch | 184 ------ sources | 2 +- 13 files changed, 6 insertions(+), 1172 deletions(-) delete mode 100644 0001-Add-ability-to-perform-actions-after-a-period-of-idl.patch delete mode 100644 0001-Return-0-on-success.patch delete mode 100644 0001-gsm_manager_get-does-not-return-a-reference.patch delete mode 100644 0001-tools-Do-not-consider-Gallium-s-softpipe-and-llvmpip.patch delete mode 100644 fix-crashity-crash-crash.patch delete mode 100644 gnome-session-2.17.5-window-manager.patch delete mode 100644 gnome-session-cflags.patch delete mode 100644 gnome-session-libs.patch delete mode 100644 nag-root-user.patch delete mode 100644 prevent-inhibitor-dialog.patch diff --git a/.gitignore b/.gitignore index 5c7bba0..85fd40c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ gnome-session-2.31.6.tar.bz2 /gnome-session-3.0.0.tar.bz2 /gnome-session-3.0.1.tar.bz2 /gnome-session-3.1.2.tar.xz +/gnome-session-3.1.3.tar.xz diff --git a/0001-Add-ability-to-perform-actions-after-a-period-of-idl.patch b/0001-Add-ability-to-perform-actions-after-a-period-of-idl.patch deleted file mode 100644 index 79e66a2..0000000 --- a/0001-Add-ability-to-perform-actions-after-a-period-of-idl.patch +++ /dev/null @@ -1,596 +0,0 @@ -diff -up gnome-session-2.31.6/configure.ac.max-idle gnome-session-2.31.6/configure.ac ---- gnome-session-2.31.6/configure.ac.max-idle 2010-08-04 07:35:41.000000000 -0400 -+++ gnome-session-2.31.6/configure.ac 2010-08-06 20:18:07.157048001 -0400 -@@ -50,6 +50,7 @@ AC_MSG_RESULT([$with_gtk]) - GLIB_REQUIRED=2.16.0 - DBUS_GLIB_REQUIRED=0.76 - UPOWER_REQUIRED=0.9.0 -+LIBNOTIFY_REQUIRED=0.7.0 - - case "$with_gtk" in - 2.0) GTK_API_VERSION=2.0 -@@ -71,6 +72,7 @@ PKG_CHECK_MODULES(GNOME_SESSION, - gtk+-$GTK_API_VERSION >= $GTK_REQUIRED - dbus-glib-1 >= $DBUS_GLIB_REQUIRED - upower-glib >= $UPOWER_REQUIRED -+ libnotify >= $LIBNOTIFY_REQUIRED - ) - - PKG_CHECK_MODULES(SESSION_PROPERTIES, -diff -up gnome-session-2.31.6/data/gnome-session.schemas.in.in.max-idle gnome-session-2.31.6/data/gnome-session.schemas.in.in ---- gnome-session-2.31.6/data/gnome-session.schemas.in.in.max-idle 2010-08-04 07:22:30.000000000 -0400 -+++ gnome-session-2.31.6/data/gnome-session.schemas.in.in 2010-08-06 20:06:05.274048002 -0400 -@@ -39,6 +39,36 @@ - - - -+ /schemas/desktop/gnome/session/max_idle_action -+ /desktop/gnome/session/max_idle_action -+ gnome -+ string -+ -+ -+ The action to take after the maximum idle time -+ -+ The name of the action to take when the maximum allowed -+ idle time has been reached. The Delay is specified in -+ the "max_idle_time" key. Allowed values are: logout, -+ forced-logout. An empty string disables the action. -+ -+ -+ -+ -+ /schemas/desktop/gnome/session/max_idle_time -+ /desktop/gnome/session/max_idle_time -+ gnome -+ int -+ 120 -+ -+ Amount of time a user can remain idle -+ -+ The number of minutes a user can remain idle before the -+ max_idle_action is automatically taken. -+ -+ -+ -+ - /schemas/desktop/gnome/session/default_session - /desktop/gnome/session/default_session - gnome -diff -up gnome-session-2.31.6/gnome-session/gsm-manager.c.max-idle gnome-session-2.31.6/gnome-session/gsm-manager.c ---- gnome-session-2.31.6/gnome-session/gsm-manager.c.max-idle 2010-07-15 08:53:08.000000000 -0400 -+++ gnome-session-2.31.6/gnome-session/gsm-manager.c 2010-08-06 20:06:05.278048002 -0400 -@@ -39,6 +39,7 @@ - #include - - #include -+#include - - #include /* for logout dialog */ - #include -@@ -67,6 +68,10 @@ - #define GSM_MANAGER_DBUS_PATH "/org/gnome/SessionManager" - #define GSM_MANAGER_DBUS_NAME "org.gnome.SessionManager" - -+#define GS_NAME "org.gnome.ScreenSaver" -+#define GS_PATH "/org/gnome/ScreenSaver" -+#define GS_INTERFACE "org.gnome.ScreenSaver" -+ - #define GSM_MANAGER_PHASE_TIMEOUT 10 /* seconds */ - - #define GDM_FLEXISERVER_COMMAND "gdmflexiserver" -@@ -79,6 +84,8 @@ - - #define KEY_DESKTOP_DIR "/desktop/gnome/session" - #define KEY_IDLE_DELAY KEY_DESKTOP_DIR "/idle_delay" -+#define KEY_MAX_IDLE_TIME KEY_DESKTOP_DIR "/max_idle_time" -+#define KEY_MAX_IDLE_ACTION KEY_DESKTOP_DIR "/max_idle_action" - - #define KEY_GNOME_SESSION_DIR "/apps/gnome-session/options" - #define KEY_AUTOSAVE KEY_GNOME_SESSION_DIR "/auto_save_session" -@@ -114,6 +121,11 @@ struct GsmManagerPrivate - gboolean forceful_logout; - GSList *query_clients; - guint query_timeout_id; -+ guint max_idle_timeout_id; -+ guint max_idle_warning_timeout_id; -+ guint max_idle_time_secs; -+ int max_idle_action; -+ NotifyNotification *max_idle_notification; - /* This is used for GSM_MANAGER_PHASE_END_SESSION only at the moment, - * since it uses a sublist of all running client that replied in a - * specific way */ -@@ -157,6 +169,19 @@ enum { - - static guint signals [LAST_SIGNAL] = { 0 }; - -+typedef enum { -+ ACTION_NONE = 0, -+ ACTION_LOGOUT, -+ ACTION_FORCED_LOGOUT, -+} Action; -+ -+static GConfEnumStringPair actions_enum_map [] = { -+ { ACTION_NONE, "" }, -+ { ACTION_LOGOUT, "logout" }, -+ { ACTION_FORCED_LOGOUT, "forced-logout" }, -+ { 0, NULL } -+}; -+ - static void gsm_manager_class_init (GsmManagerClass *klass); - static void gsm_manager_init (GsmManager *manager); - static void gsm_manager_finalize (GObject *object); -@@ -2141,6 +2166,19 @@ gsm_manager_dispose (GObject *object) - - g_debug ("GsmManager: disposing manager"); - -+ if (manager->priv->max_idle_notification != NULL) { -+ g_object_unref (manager->priv->max_idle_notification); -+ manager->priv->max_idle_notification = NULL; -+ } -+ if (manager->priv->max_idle_warning_timeout_id > 0) { -+ g_source_remove (manager->priv->max_idle_warning_timeout_id); -+ manager->priv->max_idle_warning_timeout_id = 0; -+ } -+ if (manager->priv->max_idle_timeout_id > 0) { -+ g_source_remove (manager->priv->max_idle_timeout_id); -+ manager->priv->max_idle_timeout_id = 0; -+ } -+ - if (manager->priv->clients != NULL) { - g_signal_handlers_disconnect_by_func (manager->priv->clients, - on_store_client_added, -@@ -2337,6 +2375,321 @@ load_idle_delay_from_gconf (GsmManager * - } - - static void -+load_max_idle_from_gconf (GsmManager *manager) -+{ -+ GError *error; -+ glong value; -+ const char *str; -+ -+ error = NULL; -+ value = gconf_client_get_int (manager->priv->gconf_client, -+ KEY_MAX_IDLE_TIME, -+ &error); -+ if (error == NULL) { -+ manager->priv->max_idle_time_secs = 60 * value; -+ } else { -+ g_warning ("Error retrieving configuration key '%s': %s", -+ KEY_MAX_IDLE_TIME, -+ error->message); -+ g_error_free (error); -+ } -+ -+ error = NULL; -+ str = gconf_client_get_string (manager->priv->gconf_client, -+ KEY_MAX_IDLE_ACTION, -+ &error); -+ if (error == NULL) { -+ int action; -+ -+ if (gconf_string_to_enum (actions_enum_map, str, &action)) { -+ manager->priv->max_idle_action = action; -+ } else { -+ manager->priv->max_idle_action = ACTION_NONE; -+ } -+ } else { -+ g_warning ("Error retrieving configuration key '%s': %s", -+ KEY_MAX_IDLE_TIME, -+ error->message); -+ g_error_free (error); -+ } -+} -+ -+static void -+request_logout (GsmManager *manager, -+ gboolean forceful_logout) -+{ -+ g_debug ("GsmManager: requesting logout"); -+ -+ manager->priv->forceful_logout = forceful_logout; -+ manager->priv->logout_type = GSM_MANAGER_LOGOUT_LOGOUT; -+ -+ end_phase (manager); -+} -+ -+static gboolean -+_on_max_idle_time_timeout (GsmManager *manager) -+{ -+ manager->priv->max_idle_timeout_id = 0; -+ g_debug ("GsmManager: max idle time reached"); -+ -+ if (manager->priv->max_idle_warning_timeout_id > 0) { -+ g_source_remove (manager->priv->max_idle_warning_timeout_id); -+ manager->priv->max_idle_warning_timeout_id = 0; -+ } -+ -+ switch (manager->priv->max_idle_action) { -+ case ACTION_LOGOUT: -+ g_debug ("GsmManager: max idle action: logout"); -+ /* begin non-forceful logout */ -+ request_logout (manager, FALSE); -+ break; -+ case ACTION_FORCED_LOGOUT: -+ g_debug ("GsmManager: max idle action: force-logout"); -+ /* begin forceful logout */ -+ request_logout (manager, TRUE); -+ break; -+ case ACTION_NONE: -+ g_debug ("GsmManager: no max idle action specified"); -+ break; -+ default: -+ g_assert_not_reached (); -+ break; -+ } -+ -+ return FALSE; -+} -+ -+static void -+on_max_idle_notification_closed (NotifyNotification *notification, -+ GsmManager *manager) -+{ -+ if (manager->priv->max_idle_notification != NULL) { -+ g_object_unref (manager->priv->max_idle_notification); -+ manager->priv->max_idle_notification = NULL; -+ } -+} -+ -+/* Adapted from totem_time_to_string_text */ -+static char * -+time_to_string_text (long time) -+{ -+ char *secs, *mins, *hours, *string; -+ int sec, min, hour; -+ -+ sec = time % 60; -+ time = time - sec; -+ min = (time % (60 * 60)) / 60; -+ time = time - (min * 60); -+ hour = time / (60 * 60); -+ -+ hours = g_strdup_printf (ngettext ("%d hour", "%d hours", hour), hour); -+ -+ mins = g_strdup_printf (ngettext ("%d minute", -+ "%d minutes", min), min); -+ -+ secs = g_strdup_printf (ngettext ("%d second", -+ "%d seconds", sec), sec); -+ -+ if (hour > 0) { -+ /* hour:minutes:seconds */ -+ string = g_strdup_printf (_("%s %s %s"), hours, mins, secs); -+ } else if (min > 0) { -+ /* minutes:seconds */ -+ string = g_strdup_printf (_("%s %s"), mins, secs); -+ } else if (sec > 0) { -+ /* seconds */ -+ string = g_strdup_printf (_("%s"), secs); -+ } else { -+ /* 0 seconds */ -+ string = g_strdup (_("0 seconds")); -+ } -+ -+ g_free (hours); -+ g_free (mins); -+ g_free (secs); -+ -+ return string; -+} -+ -+static void -+update_max_idle_notification (GsmManager *manager, -+ long secs_remaining) -+{ -+ char *summary; -+ char *body; -+ char *remaining; -+ gboolean screensaver_active; -+ -+ g_object_get (manager->priv->presence, "screensaver-active", &screensaver_active, NULL); -+ -+ remaining = time_to_string_text (secs_remaining); -+ summary = NULL; -+ body = NULL; -+ -+ switch (manager->priv->max_idle_action) { -+ case ACTION_LOGOUT: -+ case ACTION_FORCED_LOGOUT: -+ summary = g_strdup_printf (_("Automatic logout in %s"), remaining); -+ body = g_strdup (_("This session is configured to automatically log out after a period of inactivity.")); -+ break; -+ default: -+ g_assert_not_reached (); -+ break; -+ } -+ -+ g_free (remaining); -+ -+ if (screensaver_active) { -+ DBusGProxy *proxy; -+ GError *error; -+ -+ proxy = dbus_g_proxy_new_for_name (manager->priv->connection, -+ GS_NAME, -+ GS_PATH, -+ GS_INTERFACE); -+ error = NULL; -+ if (! dbus_g_proxy_call (proxy, "ShowMessage", &error, -+ G_TYPE_STRING, summary, -+ G_TYPE_STRING, body, -+ G_TYPE_STRING, "", -+ G_TYPE_INVALID, -+ G_TYPE_INVALID)) { -+ g_debug ("ShowMessage failed: %s", error->message); -+ g_error_free (error); -+ } -+ -+ g_object_unref (proxy); -+ } else { -+ if (manager->priv->max_idle_notification != NULL) { -+ notify_notification_update (manager->priv->max_idle_notification, -+ summary, -+ body, -+ NULL); -+ } else { -+ manager->priv->max_idle_notification -+ = notify_notification_new (summary, body, NULL); -+ notify_notification_set_timeout (manager->priv->max_idle_notification, -+ NOTIFY_EXPIRES_NEVER); -+ -+ g_signal_connect (manager->priv->max_idle_notification, -+ "closed", -+ G_CALLBACK (on_max_idle_notification_closed), -+ manager); -+ } -+ -+ notify_notification_show (manager->priv->max_idle_notification, NULL); -+ } -+ -+ g_free (body); -+ g_free (summary); -+} -+ -+static gboolean -+_on_max_idle_warning_2_timeout (GsmManager *manager) -+{ -+ manager->priv->max_idle_warning_timeout_id = 0; -+ -+ g_debug ("Note: will perform idle action in %f seconds", -+ 0.02 * manager->priv->max_idle_time_secs); -+ update_max_idle_notification (manager, 0.02 * manager->priv->max_idle_time_secs); -+ -+ return FALSE; -+} -+ -+static gboolean -+_on_max_idle_warning_5_timeout (GsmManager *manager) -+{ -+ long warn_secs; -+ -+ warn_secs = 0.03 * manager->priv->max_idle_time_secs; -+ manager->priv->max_idle_warning_timeout_id -+ = g_timeout_add_seconds (warn_secs, -+ (GSourceFunc)_on_max_idle_warning_2_timeout, -+ manager); -+ g_debug ("Note: will perform idle action in %f seconds", -+ 0.05 * manager->priv->max_idle_time_secs); -+ update_max_idle_notification (manager, 0.05 * manager->priv->max_idle_time_secs); -+ -+ return FALSE; -+} -+ -+static gboolean -+_on_max_idle_warning_10_timeout (GsmManager *manager) -+{ -+ long warn_secs; -+ -+ warn_secs = 0.05 * manager->priv->max_idle_time_secs; -+ manager->priv->max_idle_warning_timeout_id -+ = g_timeout_add_seconds (warn_secs, -+ (GSourceFunc)_on_max_idle_warning_5_timeout, -+ manager); -+ g_debug ("Note: will perform idle action in %f seconds", -+ 0.1 * manager->priv->max_idle_time_secs); -+ update_max_idle_notification (manager, 0.1 * manager->priv->max_idle_time_secs); -+ -+ return FALSE; -+} -+ -+static gboolean -+_on_max_idle_warning_20_timeout (GsmManager *manager) -+{ -+ long warn_secs; -+ -+ warn_secs = 0.1 * manager->priv->max_idle_time_secs; -+ manager->priv->max_idle_warning_timeout_id -+ = g_timeout_add_seconds (warn_secs, -+ (GSourceFunc)_on_max_idle_warning_10_timeout, -+ manager); -+ g_debug ("Note: will perform idle action in %f seconds", -+ 0.2 * manager->priv->max_idle_time_secs); -+ -+ update_max_idle_notification (manager, 0.2 * manager->priv->max_idle_time_secs); -+ -+ return FALSE; -+} -+ -+static void -+reset_max_idle_timer (GsmManager *manager) -+{ -+ int status; -+ -+ g_object_get (manager->priv->presence, "status", &status, NULL); -+ -+ -+ g_debug ("Resetting max idle timer status=%d action=%d time=%ds", -+ status, manager->priv->max_idle_action, manager->priv->max_idle_time_secs); -+ if (manager->priv->max_idle_timeout_id > 0) { -+ g_source_remove (manager->priv->max_idle_timeout_id); -+ manager->priv->max_idle_timeout_id = 0; -+ } -+ if (manager->priv->max_idle_warning_timeout_id > 0) { -+ g_source_remove (manager->priv->max_idle_warning_timeout_id); -+ manager->priv->max_idle_warning_timeout_id = 0; -+ } -+ -+ if (status == GSM_PRESENCE_STATUS_IDLE -+ && manager->priv->max_idle_action != ACTION_NONE) { -+ long warn_secs; -+ -+ /* start counting now. probably isn't quite -+ right if we're handling a configuration -+ value change but it may not matter */ -+ -+ manager->priv->max_idle_timeout_id -+ = g_timeout_add_seconds (manager->priv->max_idle_time_secs, -+ (GSourceFunc)_on_max_idle_time_timeout, -+ manager); -+ -+ /* start warning at 80% of the way through the idle */ -+ warn_secs = 0.8 * manager->priv->max_idle_time_secs; -+ manager->priv->max_idle_warning_timeout_id -+ = g_timeout_add_seconds (warn_secs, -+ (GSourceFunc)_on_max_idle_warning_20_timeout, -+ manager); -+ } -+} -+ -+static void - on_gconf_key_changed (GConfClient *client, - guint cnxn_id, - GConfEntry *entry, -@@ -2364,6 +2717,32 @@ on_gconf_key_changed (GConfClient *clien - } else { - invalid_type_warning (key); - } -+ } else if (strcmp (key, KEY_MAX_IDLE_TIME) == 0) { -+ if (value->type == GCONF_VALUE_INT) { -+ int t; -+ -+ t = gconf_value_get_int (value); -+ -+ manager->priv->max_idle_time_secs = t * 60; -+ reset_max_idle_timer (manager); -+ } else { -+ invalid_type_warning (key); -+ } -+ } else if (strcmp (key, KEY_MAX_IDLE_ACTION) == 0) { -+ if (value->type == GCONF_VALUE_STRING) { -+ int action; -+ const char *str; -+ -+ str = gconf_value_get_string (value); -+ if (gconf_string_to_enum (actions_enum_map, str, &action)) { -+ manager->priv->max_idle_action = action; -+ } else { -+ manager->priv->max_idle_action = ACTION_NONE; -+ } -+ reset_max_idle_timer (manager); -+ } else { -+ invalid_type_warning (key); -+ } - } else if (strcmp (key, KEY_LOCK_DISABLE) == 0) { - if (value->type == GCONF_VALUE_BOOL) { - gboolean disabled; -@@ -2401,6 +2780,7 @@ on_presence_status_changed (GsmPresence - consolekit = gsm_get_consolekit (); - gsm_consolekit_set_session_idle (consolekit, - (status == GSM_PRESENCE_STATUS_IDLE)); -+ reset_max_idle_timer (manager); - } - - static void -@@ -2451,6 +2831,7 @@ gsm_manager_init (GsmManager *manager) - NULL, NULL); - - load_idle_delay_from_gconf (manager); -+ load_max_idle_from_gconf (manager); - } - - static void -@@ -2757,19 +3138,6 @@ request_hibernate (GsmManager *manager) - gtk_widget_show (manager->priv->inhibit_dialog); - } - -- --static void --request_logout (GsmManager *manager, -- gboolean forceful_logout) --{ -- g_debug ("GsmManager: requesting logout"); -- -- manager->priv->forceful_logout = forceful_logout; -- manager->priv->logout_type = GSM_MANAGER_LOGOUT_LOGOUT; -- -- end_phase (manager); --} -- - static void - request_switch_user (GsmManager *manager) - { -diff -up gnome-session-2.31.6/gnome-session/gsm-presence.c.max-idle gnome-session-2.31.6/gnome-session/gsm-presence.c ---- gnome-session-2.31.6/gnome-session/gsm-presence.c.max-idle 2010-02-09 08:22:01.000000000 -0500 -+++ gnome-session-2.31.6/gnome-session/gsm-presence.c 2010-08-06 20:06:05.281048002 -0400 -@@ -66,6 +66,7 @@ enum { - PROP_STATUS_TEXT, - PROP_IDLE_ENABLED, - PROP_IDLE_TIMEOUT, -+ PROP_SCREENSAVER_ACTIVE, - }; - - -@@ -187,6 +188,7 @@ on_screensaver_active_changed (DBusGProx - presence->priv->screensaver_active = is_active; - reset_idle_watch (presence); - set_session_idle (presence, is_active); -+ g_object_notify (G_OBJECT (presence), "screensaver-active"); - } - } - -@@ -439,6 +441,9 @@ gsm_presence_get_property (GObject *o - case PROP_IDLE_TIMEOUT: - g_value_set_uint (value, self->priv->idle_timeout); - break; -+ case PROP_SCREENSAVER_ACTIVE: -+ g_value_set_boolean (value, self->priv->screensaver_active); -+ break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; -@@ -532,6 +537,13 @@ gsm_presence_class_init (GsmPresenceClas - G_MAXINT, - 300000, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); -+ g_object_class_install_property (object_class, -+ PROP_SCREENSAVER_ACTIVE, -+ g_param_spec_boolean ("screensaver-active", -+ NULL, -+ NULL, -+ FALSE, -+ G_PARAM_READABLE)); - - dbus_g_object_type_install_info (GSM_TYPE_PRESENCE, &dbus_glib_gsm_presence_object_info); - dbus_g_error_domain_register (GSM_PRESENCE_ERROR, NULL, GSM_PRESENCE_TYPE_ERROR); -diff -up gnome-session-2.31.6/gnome-session/main.c.max-idle gnome-session-2.31.6/gnome-session/main.c ---- gnome-session-2.31.6/gnome-session/main.c.max-idle 2010-03-29 19:46:51.000000000 -0400 -+++ gnome-session-2.31.6/gnome-session/main.c 2010-08-06 20:06:05.282048002 -0400 -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - - #include "gdm-signal-handler.h" - #include "gdm-log.h" -@@ -471,6 +472,8 @@ main (int argc, char **argv) - exit (1); - } - -+ notify_init ("GNOME session manager"); -+ - gdm_log_init (); - gdm_log_set_debug (debug); - diff --git a/0001-Return-0-on-success.patch b/0001-Return-0-on-success.patch deleted file mode 100644 index 1f6f6d4..0000000 --- a/0001-Return-0-on-success.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 01217f38addd7ea47e121fc5e31eb2a35a54f9f8 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Tue, 8 Mar 2011 14:04:05 -0500 -Subject: [PATCH] Return 0 on success - -Booleans and exist status don't go together well... ---- - tools/gnome-session-check-accelerated.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/tools/gnome-session-check-accelerated.c b/tools/gnome-session-check-accelerated.c -index 7b1cb5f..9d4e2d6 100644 ---- a/tools/gnome-session-check-accelerated.c -+++ b/tools/gnome-session-check-accelerated.c -@@ -99,5 +99,5 @@ main (int argc, char **argv) - - gdk_display_sync (display); - -- return is_accelerated; -+ return is_accelerated ? 0 : 1; - } --- -1.7.4.1 - diff --git a/0001-gsm_manager_get-does-not-return-a-reference.patch b/0001-gsm_manager_get-does-not-return-a-reference.patch deleted file mode 100644 index 7cb414b..0000000 --- a/0001-gsm_manager_get-does-not-return-a-reference.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 6131a4cfba214b89d0197510a4f4cab33a160bfd Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 28 Feb 2011 19:43:32 -0500 -Subject: [PATCH] gsm_manager_get does not return a reference - -This causes gnome-session to crash and burn whenever the new -if-session condition is used. ---- - gnome-session/gsm-autostart-app.c | 8 -------- - 1 files changed, 0 insertions(+), 8 deletions(-) - -diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c -index 81e66ce..05285d7 100644 ---- a/gnome-session/gsm-autostart-app.c -+++ b/gnome-session/gsm-autostart-app.c -@@ -548,8 +548,6 @@ setup_condition_monitor (GsmAutostartApp *app) - g_signal_connect (manager, "notify::session-name", - G_CALLBACK (if_session_condition_cb), app); - g_free (session_name); -- -- g_object_unref (manager); - } else if (kind == GSM_CONDITION_UNLESS_SESSION) { - GsmManager *manager; - char *session_name; -@@ -563,8 +561,6 @@ setup_condition_monitor (GsmAutostartApp *app) - g_signal_connect (manager, "notify::session-name", - G_CALLBACK (unless_session_condition_cb), app); - g_free (session_name); -- -- g_object_unref (manager); - } else { - disabled = TRUE; - } -@@ -869,8 +865,6 @@ is_conditionally_disabled (GsmApp *app) - g_object_get (manager, "session-name", &session_name, NULL); - disabled = strcmp (session_name, key) != 0; - g_free (session_name); -- -- g_object_unref (manager); - } else if (kind == GSM_CONDITION_UNLESS_SESSION) { - GsmManager *manager; - char *session_name; -@@ -881,8 +875,6 @@ is_conditionally_disabled (GsmApp *app) - g_object_get (manager, "session-name", &session_name, NULL); - disabled = strcmp (session_name, key) == 0; - g_free (session_name); -- -- g_object_unref (manager); - } else { - disabled = TRUE; - } --- -1.7.4.1 - diff --git a/0001-tools-Do-not-consider-Gallium-s-softpipe-and-llvmpip.patch b/0001-tools-Do-not-consider-Gallium-s-softpipe-and-llvmpip.patch deleted file mode 100644 index 321c381..0000000 --- a/0001-tools-Do-not-consider-Gallium-s-softpipe-and-llvmpip.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 2bd1975803f1d7e03a7f98881e8332a2330c4146 Mon Sep 17 00:00:00 2001 -From: Vincent Untz -Date: Fri, 14 Jan 2011 08:44:52 +0100 -Subject: [PATCH] tools: Do not consider Gallium's softpipe and llvmpipe as accelerated - -Those are software renderers too. It might be that llvmpipe gets good -enough in the future, but it's not the case at the moment. - -Based on patch from Matthias Clasen . - -https://bugzilla.gnome.org/show_bug.cgi?id=639490 ---- - tools/gnome-session-is-accelerated.c | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/tools/gnome-session-is-accelerated.c b/tools/gnome-session-is-accelerated.c -index 6b8b1a4..0729c14 100644 ---- a/tools/gnome-session-is-accelerated.c -+++ b/tools/gnome-session-is-accelerated.c -@@ -144,8 +144,11 @@ _has_hardware_gl (Display *display) - - renderer = (const char *) glGetString (GL_RENDERER); - /* The current Mesa software GL renderer string is -- * "Software Rasterizer" */ -- if (strcasestr (renderer, "software rasterizer") != NULL) -+ * "Software Rasterizer". -+ * Gallium has softpipe and llvmpipe. */ -+ if (strcasestr (renderer, "software rasterizer") != NULL || -+ strcasestr (renderer, "softpipe") != NULL || -+ strcasestr (renderer, "llvmpipe") != NULL) - goto out; - - /* we need to get the max texture size while we have a context, --- -1.7.3.4 - diff --git a/fix-crashity-crash-crash.patch b/fix-crashity-crash-crash.patch deleted file mode 100644 index 2842ae0..0000000 --- a/fix-crashity-crash-crash.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0b71e3d369d1b922541c0f0fe764e576b54a8f1d Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Tue, 22 Feb 2011 14:57:58 -0500 -Subject: [PATCH] manager: Handle session name being NULL from gdm - -https://bugzilla.gnome.org/show_bug.cgi?id=642988 ---- - gnome-session/gsm-manager.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c -index a021996..fe8e19e 100644 ---- a/gnome-session/gsm-manager.c -+++ b/gnome-session/gsm-manager.c -@@ -1267,7 +1267,7 @@ static void - possibly_show_fallback_dialog (GsmManager *manager) - { - if (manager->priv->is_fallback_session && -- strcmp (manager->priv->session_name, "gnome-fallback") == 0 && -+ g_strcmp0 (manager->priv->session_name, "gnome-fallback") == 0 && - g_settings_get_boolean (manager->priv->settings, - KEY_SHOW_FALLBACK_WARNING)) { - show_fallback_dialog (_("GNOME 3 Failed to Load"), -@@ -1277,7 +1277,7 @@ possibly_show_fallback_dialog (GsmManager *manager) - "http://www.gnome3.org"); - g_settings_set_boolean (manager->priv->settings, - KEY_SHOW_FALLBACK_WARNING, FALSE); -- } else if (strcmp (manager->priv->session_name, "gnome") == 0 && -+ } else if (g_strcmp0 (manager->priv->session_name, "gnome") == 0 && - g_settings_get_boolean (manager->priv->settings, - KEY_SHOW_FALLBACK_WARNING)) { - /* Reset the setting if we ever manage to log into gnome 3 */ --- -1.7.4.1 - diff --git a/gnome-session-2.17.5-window-manager.patch b/gnome-session-2.17.5-window-manager.patch deleted file mode 100644 index 22d86ae..0000000 --- a/gnome-session-2.17.5-window-manager.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -up gnome-session-2.19.6/data/gnome-session.schemas.in.window-manager gnome-session-2.19.6/data/gnome-session.schemas.in ---- gnome-session-2.19.6/data/gnome-session.schemas.in.window-manager 2007-07-30 16:07:16.000000000 -0400 -+++ gnome-session-2.19.6/data/gnome-session.schemas.in 2007-08-09 17:47:42.000000000 -0400 -@@ -2,11 +2,22 @@ - - - -+ /schemas/apps/gnome-session/rh/window_manager -+ /apps/gnome-session/rh/window_manager -+ gnome -+ string -+ metacity -+ -+ Window Manager to start -+ The Window manager that gnome-session will start. Valid values are "metacity" and "compiz". -+ -+ -+ - /schemas/apps/gnome-session/options/show_splash_screen - /apps/gnome-session/options/show_splash_screen - gnome - bool -- true -+ false - - Show the splash screen - Show the splash screen when the session starts up -diff -up gnome-session-2.19.6/data/gnome-wm.window-manager gnome-session-2.19.6/data/gnome-wm ---- gnome-session-2.19.6/data/gnome-wm.window-manager 2007-07-30 16:07:15.000000000 -0400 -+++ gnome-session-2.19.6/data/gnome-wm 2007-08-10 15:01:04.000000000 -0400 -@@ -3,7 +3,9 @@ - # The user can specify his prefered WM by setting the WINDOW_MANAGER - # environment variable. - # --# If this is not set, we search a list of known windowmanagers and use -+# If this is not set, we check the /apps/gnome-session/rh/window_manager key -+# and go off that. finally, if all else fails we search a list of known -+# windowmanagers and use - # the first one that is found in the users's PATH - # - -@@ -38,6 +40,9 @@ for n in "$@" ; do - done - - # WINDOW_MANAGER overrides all -+if [ -z "$WINDOW_MANAGER" ] ; then -+ WINDOW_MANAGER=$(gconftool-2 --get /apps/gnome-session/rh/window_manager) -+fi - - if [ -z "$WINDOW_MANAGER" ] ; then - # Create a list of window manager we can handle, trying to only use the diff --git a/gnome-session-cflags.patch b/gnome-session-cflags.patch deleted file mode 100644 index 3c5cb0e..0000000 --- a/gnome-session-cflags.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up gnome-session-2.32.0/gnome-session/Makefile.am.cflags gnome-session-2.32.0/gnome-session/Makefile.am ---- gnome-session-2.32.0/gnome-session/Makefile.am.cflags 2010-09-30 08:19:16.757603002 -0400 -+++ gnome-session-2.32.0/gnome-session/Makefile.am 2010-09-30 08:19:50.708603005 -0400 -@@ -80,6 +80,10 @@ gnome_session_LDADD = \ - $(GCONF_LIBS) \ - $(EXECINFO_LIBS) - -+libgsmutil_la_CFLAGS = \ -+ $(AM_CPPFLAGS) \ -+ $(GCONF_CFLAGS) -+ - libgsmutil_la_SOURCES = \ - gsm-util.c \ - gsm-util.h diff --git a/gnome-session-libs.patch b/gnome-session-libs.patch deleted file mode 100644 index 24aa2e1..0000000 --- a/gnome-session-libs.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up gnome-session-2.91.91/tools/Makefile.am.libs gnome-session-2.91.91/tools/Makefile.am ---- gnome-session-2.91.91/tools/Makefile.am.libs 2011-03-07 23:08:58.320593583 -0500 -+++ gnome-session-2.91.91/tools/Makefile.am 2011-03-07 23:38:02.621786815 -0500 -@@ -31,7 +31,8 @@ gnome_session_check_accelerated_helper_C - - gnome_session_check_accelerated_helper_LDADD = \ - $(GL_TEST_LIBS) \ -- $(X_LIBS) -+ $(X_LIBS) \ -+ -lX11 - - gnome_session_check_accelerated_SOURCES = \ - gnome-session-check-accelerated.c -@@ -42,6 +43,7 @@ gnome_session_check_accelerated_CPPFLAGS - $(GTK3_CFLAGS) - - gnome_session_check_accelerated_LDADD = \ -- $(GTK3_LIBS) -+ $(GTK3_LIBS) \ -+ -lX11 - - -include $(top_srcdir)/git.mk diff --git a/gnome-session.spec b/gnome-session.spec index 1196e9c..2fd24c4 100644 --- a/gnome-session.spec +++ b/gnome-session.spec @@ -2,7 +2,7 @@ Summary: GNOME session manager Name: gnome-session -Version: 3.1.2 +Version: 3.1.3 Release: 1%{?dist} URL: http://www.gnome.org #VCS: git:git://git.gnome.org/gnome-session @@ -162,6 +162,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas || : %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml %changelog +* Mon Jul 04 2011 Bastien Nocera 3.1.3-1 +- Update to 3.1.3 + * Wed Jun 15 2011 Tomas Bzatek - 3.1.2-1 - Update to 3.1.2 diff --git a/nag-root-user.patch b/nag-root-user.patch deleted file mode 100644 index cb142aa..0000000 --- a/nag-root-user.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff -up gnome-session-2.31.6/data/gnome-session.schemas.in.in.nag-root-user gnome-session-2.31.6/data/gnome-session.schemas.in.in ---- gnome-session-2.31.6/data/gnome-session.schemas.in.in.nag-root-user 2010-08-06 20:18:36.000000000 -0400 -+++ gnome-session-2.31.6/data/gnome-session.schemas.in.in 2010-08-06 20:24:53.215048000 -0400 -@@ -3,6 +3,17 @@ - - - -+ /schemas/apps/gnome-session/options/show_root_warning -+ /apps/gnome-session/options/show_root_warning -+ gnome -+ bool -+ true -+ -+ Warn user against running gnome-session from root account -+ If a user tries to login as root, show a dialog telling them it's a bad idea -+ -+ -+ - /schemas/apps/gnome-session/options/auto_save_session - /apps/gnome-session/options/auto_save_session - gnome -diff -up gnome-session-2.31.6/gnome-session/gsm-manager.c.nag-root-user gnome-session-2.31.6/gnome-session/gsm-manager.c ---- gnome-session-2.31.6/gnome-session/gsm-manager.c.nag-root-user 2010-08-06 20:18:36.308048001 -0400 -+++ gnome-session-2.31.6/gnome-session/gsm-manager.c 2010-08-06 20:18:36.333048001 -0400 -@@ -92,6 +92,8 @@ - - #define KEY_SLEEP_LOCK "/apps/gnome-screensaver/lock_enabled" - -+#define KEY_SHOW_ROOT_WARNING "/apps/gnome-session/options/show_root_warning" -+ - #define IS_STRING_EMPTY(x) ((x)==NULL||(x)[0]=='\0') - - typedef enum -@@ -492,6 +494,26 @@ end_phase (GsmManager *manager) - manager->priv->phase_timeout_id = 0; - } - -+ /* If we just finished the phase before the phase where applications -+ * are started, then nag the user if they're root. We could do it earlier, -+ * but that would mean showing a bare dialog with nothing around it -+ * (and potentially without decorations, font settings loaded, etc). We -+ * could do it later, but that would be mean things loading around it and -+ * covering it up, etc. -+ */ -+ if (manager->priv->phase + 1 == GSM_MANAGER_PHASE_APPLICATION) { -+ if (getuid () == 0) { -+ gsm_util_nag_message (KEY_SHOW_ROOT_WARNING, FALSE, -+ _("You are currently trying to run as the " -+ "root super user. The super user is a " -+ "specialized account that is not designed " -+ "to run a normal user session. Various programs " -+ "will not function properly, and actions " -+ "performed under this account can cause unrecoverable " -+ "damage to the operating system.")); -+ } -+ } -+ - switch (manager->priv->phase) { - case GSM_MANAGER_PHASE_STARTUP: - case GSM_MANAGER_PHASE_INITIALIZATION: -diff -up gnome-session-2.31.6/gnome-session/gsm-util.c.nag-root-user gnome-session-2.31.6/gnome-session/gsm-util.c ---- gnome-session-2.31.6/gnome-session/gsm-util.c.nag-root-user 2010-02-09 08:22:01.000000000 -0500 -+++ gnome-session-2.31.6/gnome-session/gsm-util.c 2010-08-06 20:18:36.338048001 -0400 -@@ -35,6 +35,7 @@ - #include - - #include "gsm-util.h" -+#include "gsm-gconf.h" - - static gchar *_saved_session_dir = NULL; - -@@ -373,6 +374,69 @@ gsm_util_init_error (gboolean fatal, - } - - /** -+ * gsm_util_nag_message: -+ * @key: gconf configuration key to save user's "don't nag me" state -+ * @nag_only_once: Initial state of the "don't nag me" checkbox -+ * @format: printf-style error message format -+ * @...: error message args -+ * -+ * Displays a nag message to the user along with a check button that says something -+ * like "Don't show this again". If @nag_only_once is %TRUE, the check button will -+ * default to checked. The state of the dialog is stored as a boolean at the -+ * gconf path specified by @key -+ * -+ * This should be called for informative messages that the user may or may -+ * not care about. -+ **/ -+void -+gsm_util_nag_message (const char *key, -+ gboolean nag_only_once, -+ const char *format, ...) -+{ -+ GtkWidget *dialog; -+ GtkWidget *content_area; -+ GtkWidget *check_button; -+ char *msg; -+ va_list args; -+ GConfClient *client; -+ gboolean should_nag; -+ -+ client = gconf_client_get_default (); -+ should_nag = gconf_client_get_bool (client, key, NULL); -+ -+ if (!should_nag) { -+ goto out; -+ } -+ -+ va_start (args, format); -+ msg = g_strdup_vprintf (format, args); -+ va_end (args); -+ -+ dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, -+ GTK_BUTTONS_CLOSE, "%s", msg); -+ -+ g_free (msg); -+ -+ content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); -+ check_button = gtk_check_button_new_with_label (_("Do not show me this again")); -+ -+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), nag_only_once != FALSE); -+ gtk_widget_show (check_button); -+ -+ gtk_container_add (GTK_CONTAINER (content_area), check_button); -+ -+ gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); -+ gtk_dialog_run (GTK_DIALOG (dialog)); -+ -+ should_nag = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_button)) == FALSE; -+ gconf_client_set_bool (client, key, should_nag != FALSE, NULL); -+ gtk_widget_destroy (dialog); -+ -+out: -+ g_object_unref (client); -+} -+ -+/** - * gsm_util_generate_startup_id: - * - * Generates a new SM client ID. -diff -up gnome-session-2.31.6/gnome-session/gsm-util.h.nag-root-user gnome-session-2.31.6/gnome-session/gsm-util.h ---- gnome-session-2.31.6/gnome-session/gsm-util.h.nag-root-user 2010-02-09 08:22:01.000000000 -0500 -+++ gnome-session-2.31.6/gnome-session/gsm-util.h 2010-08-06 20:18:36.340048001 -0400 -@@ -41,6 +41,9 @@ gboolean gsm_util_text_is_blank - - void gsm_util_init_error (gboolean fatal, - const char *format, ...); -+void gsm_util_nag_message (const char *key, -+ gboolean nag_only_once, -+ const char *format, ...); - - char * gsm_util_generate_startup_id (void); - diff --git a/prevent-inhibitor-dialog.patch b/prevent-inhibitor-dialog.patch deleted file mode 100644 index 4f0897b..0000000 --- a/prevent-inhibitor-dialog.patch +++ /dev/null @@ -1,184 +0,0 @@ -From bf1b6e8843b5e72d4f5a62a34eb322b82e33c2df Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Sun, 7 Nov 2010 11:49:33 -0500 -Subject: [PATCH 1/2] manager: don't ever show inhibitor dialog if logout is forced - -If logout is forced, we don't want to show the inhibitor dialog. -A forced logout is one that shouldn't be "cancelable". - -This commit prevents inhibitors from getting added if logout is -forced. ---- - gnome-session/gsm-manager.c | 24 +++++++++++++++++++++--- - 1 files changed, 21 insertions(+), 3 deletions(-) - -diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c -index c85cea6..d15402f 100644 ---- a/gnome-session/gsm-manager.c -+++ b/gnome-session/gsm-manager.c -@@ -1193,6 +1193,12 @@ _on_query_end_session_timeout (GsmManager *manager) - g_warning ("Client '%s' failed to reply before timeout", - gsm_client_peek_id (l->data)); - -+ /* Don't add "not responding" inhibitors if logout is forced -+ */ -+ if (manager->priv->forceful_logout) { -+ continue; -+ } -+ - /* Add JIT inhibit for unresponsive client */ - if (GSM_IS_DBUS_CLIENT (l->data)) { - bus_name = gsm_dbus_client_get_bus_name (l->data); -@@ -1248,8 +1254,8 @@ do_phase_query_end_session (GsmManager *manager) - (GsmStoreFunc)_client_query_end_session, - &data); - -- /* This phase doesn't time out. This separate timer is only used to -- * show UI. */ -+ /* This phase doesn't time out unless logout is forced. Typically, this -+ * separate timer is only used to show UI. */ - manager->priv->query_timeout_id = g_timeout_add_seconds (1, (GSourceFunc)_on_query_end_session_timeout, manager); - } - -@@ -1877,7 +1883,7 @@ on_client_end_session_response (GsmClient *client, - - manager->priv->query_clients = g_slist_remove (manager->priv->query_clients, client); - -- if (! is_ok) { -+ if (! is_ok && !manager->priv->forceful_logout) { - guint cookie; - GsmInhibitor *inhibitor; - char *app_id; -@@ -3172,6 +3178,18 @@ gsm_manager_inhibit (GsmManager *manager, - reason, - flags); - -+ if (manager->priv->forceful_logout) { -+ GError *new_error; -+ -+ new_error = g_error_new (GSM_MANAGER_ERROR, -+ GSM_MANAGER_ERROR_GENERAL, -+ "Forced logout cannot be inhibited"); -+ g_debug ("GsmManager: Unable to inhibit: %s", new_error->message); -+ dbus_g_method_return_error (context, new_error); -+ g_error_free (new_error); -+ return FALSE; -+ } -+ - if (IS_STRING_EMPTY (app_id)) { - GError *new_error; - --- -1.7.3.1 - - -From 8e6afcf1789c02692cf3b1ff3ee0a792d57e17a3 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Sun, 7 Nov 2010 12:32:17 -0500 -Subject: [PATCH 2/2] manager: remove client from query clients list on disconnect - -When the session manager enters the query end session phase, -it temporarily adds all clients to the "query clients" list. - -This list is used to track the progression of clients quitting. - -If a client quits during the query end session phase instead of -waiting until the end session phase, then it will get destroyed -but not get removed from the query clients list. - -This commit removes it from the query clients list in -this case. It does this by explicitly invoking the end session -response handler (in effect, the client responded to the end -session query by exiting). ---- - gnome-session/gsm-manager.c | 53 ++++++++++++++++++++++++++++++++++++++----- - 1 files changed, 47 insertions(+), 6 deletions(-) - -diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c -index d15402f..d1fecb9 100644 ---- a/gnome-session/gsm-manager.c -+++ b/gnome-session/gsm-manager.c -@@ -164,6 +164,13 @@ static void gsm_manager_finalize (GObject *object); - static gboolean auto_save_is_enabled (GsmManager *manager); - static void maybe_save_session (GsmManager *manager); - -+static void _handle_client_end_session_response (GsmManager *manager, -+ GsmClient *client, -+ gboolean is_ok, -+ gboolean do_last, -+ gboolean cancel, -+ const char *reason); -+ - static gpointer manager_object = NULL; - - G_DEFINE_TYPE (GsmManager, gsm_manager, G_TYPE_OBJECT) -@@ -1516,6 +1523,24 @@ _disconnect_client (GsmManager *manager, - } - } - -+ if (manager->priv->phase == GSM_MANAGER_PHASE_QUERY_END_SESSION) { -+ /* Instead of answering our end session query, the client just exited. -+ * Treat that as an "okay, end the session" answer. -+ * -+ * This call implicitly removes any inhibitors for the client, along -+ * with removing the client from the pending query list. -+ */ -+ _handle_client_end_session_response (manager, -+ client, -+ TRUE, -+ FALSE, -+ FALSE, -+ "Client exited in " -+ "query end session phase " -+ "instead of end session " -+ "phase"); -+ } -+ - if (app == NULL) { - g_debug ("GsmManager: unable to find application for client - not restarting"); - goto out; -@@ -1862,12 +1887,12 @@ out: - } - - static void --on_client_end_session_response (GsmClient *client, -- gboolean is_ok, -- gboolean do_last, -- gboolean cancel, -- const char *reason, -- GsmManager *manager) -+_handle_client_end_session_response (GsmManager *manager, -+ GsmClient *client, -+ gboolean is_ok, -+ gboolean do_last, -+ gboolean cancel, -+ const char *reason) - { - /* just ignore if received outside of shutdown */ - if (manager->priv->phase < GSM_MANAGER_PHASE_QUERY_END_SESSION) { -@@ -1952,6 +1977,22 @@ on_client_end_session_response (GsmClient *client, - } - - static void -+on_client_end_session_response (GsmClient *client, -+ gboolean is_ok, -+ gboolean do_last, -+ gboolean cancel, -+ const char *reason, -+ GsmManager *manager) -+{ -+ _handle_client_end_session_response (manager, -+ client, -+ is_ok, -+ do_last, -+ cancel, -+ reason); -+} -+ -+static void - on_xsmp_client_logout_request (GsmXSMPClient *client, - gboolean show_dialog, - GsmManager *manager) --- -1.7.3.1 - diff --git a/sources b/sources index 6b142fc..0c4a50d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c88b6ab480fcf5f8a9b94fb12e53f182 gnome-session-3.1.2.tar.xz +5a57796d41f63b5db11b8d9597d7b779 gnome-session-3.1.3.tar.xz