From 3cd0e86bddb088aa0632f2593e77b4a6dc59ae43 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 10 Mar 2011 17:58:44 -0500 Subject: [PATCH] session: Don't set XSMP restart This made sense back in the day of stateless window managers, but gnome-shell isn't. gnome-session will handle gnome-shell crashing, since it's a required component. https://bugzilla.gnome.org/show_bug.cgi?id=644529 --- src/core/main.c | 2 -- src/core/session.c | 38 ++++++-------------------------------- 2 files changed, 6 insertions(+), 34 deletions(-) diff --git a/src/core/main.c b/src/core/main.c index d0d40eae9..06658eb99 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -348,8 +348,6 @@ meta_finalize (void) if (display) meta_display_close (display, CurrentTime); /* I doubt correct timestamps matter here */ - - meta_session_shutdown (); } static int sigterm_pipe_fds[2] = { -1, -1 }; diff --git a/src/core/session.c b/src/core/session.c index c7e0c4844..c11bce9d6 100644 --- a/src/core/session.c +++ b/src/core/session.c @@ -39,12 +39,6 @@ meta_session_init (const char *client_id, meta_topic (META_DEBUG_SM, "Compiled without session management support\n"); } -void -meta_session_shutdown (void) -{ - /* nothing */ -} - const MetaWindowSessionInfo* meta_window_lookup_saved_state (MetaWindow *window) { @@ -307,7 +301,12 @@ meta_session_init (const char *previous_client_id, SmProp prop1, prop2, prop3, prop4, prop5, prop6, *props[6]; SmPropValue prop1val, prop2val, prop3val, prop4val, prop5val, prop6val; char pid[32]; - char hint = SmRestartImmediately; + /* Historically, this was SmRestartImmediately, which made sense + * for a stateless window manager, but we don't really control + * what embedders do, and it's all around better if gnome-session + * handles this. + */ + char hint = SmRestartIfRunning; char priority = 20; /* low to run before other apps */ prop1.name = SmProgram; @@ -371,31 +370,6 @@ meta_session_init (const char *previous_client_id, g_free (saved_client_id); } -void -meta_session_shutdown (void) -{ - /* Change our restart mode to IfRunning */ - - SmProp prop1; - SmPropValue prop1val; - SmProp *props[1]; - char hint = SmRestartIfRunning; - - if (session_connection == NULL) - return; - - prop1.name = SmRestartStyleHint; - prop1.type = SmCARD8; - prop1.num_vals = 1; - prop1.vals = &prop1val; - prop1val.value = &hint; - prop1val.length = 1; - - props[0] = &prop1; - - SmcSetProperties (session_connection, 1, props); -} - static void disconnect (void) {