summaryrefslogtreecommitdiffstats
path: root/libmutter-session-save.patch
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2011-04-28 14:39:30 -0400
committerMatthias Clasen <mclasen@redhat.com>2011-04-28 14:39:30 -0400
commite25ef0f3581ae26cf9f6bb415c28e0b0db43cbe1 (patch)
tree808bd6eeb857197b1113559256b9814018ef327d /libmutter-session-save.patch
parentf1996aa0f47dddbd5b245260f5aa55e9c690c21c (diff)
downloadmutter-e25ef0f3581ae26cf9f6bb415c28e0b0db43cbe1.tar.gz
mutter-e25ef0f3581ae26cf9f6bb415c28e0b0db43cbe1.tar.xz
mutter-e25ef0f3581ae26cf9f6bb415c28e0b0db43cbe1.zip
Fix session saving
Diffstat (limited to 'libmutter-session-save.patch')
-rw-r--r--libmutter-session-save.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/libmutter-session-save.patch b/libmutter-session-save.patch
new file mode 100644
index 0000000..82d2aef
--- /dev/null
+++ b/libmutter-session-save.patch
@@ -0,0 +1,51 @@
+diff -up mutter-3.0.1/src/core/session.c.save mutter-3.0.1/src/core/session.c
+--- mutter-3.0.1/src/core/session.c.save 2011-04-27 21:44:14.349244352 -0400
++++ mutter-3.0.1/src/core/session.c 2011-04-27 21:52:28.558065891 -0400
+@@ -308,13 +308,16 @@ meta_session_init (const char *previous_
+ */
+ char hint = SmRestartIfRunning;
+ char priority = 20; /* low to run before other apps */
+-
++ char *prgname;
++
++ prgname = g_get_prgname ();
++
+ prop1.name = SmProgram;
+ prop1.type = SmARRAY8;
+ prop1.num_vals = 1;
+ prop1.vals = &prop1val;
+- prop1val.value = "mutter";
+- prop1val.length = strlen ("mutter");
++ prop1val.value = prgname;
++ prop1val.length = strlen (prgname);
+
+ /* twm sets getuid() for this, but the SM spec plainly
+ * says pw_name, twm is on crack
+@@ -573,6 +576,9 @@ set_clone_restart_commands (void)
+ char *discardv[10];
+ int i;
+ SmProp prop1, prop2, prop3, *props[3];
++ char *prgname;
++
++ prgname = g_get_prgname ();
+
+ /* Restart (use same client ID) */
+
+@@ -582,7 +588,7 @@ set_clone_restart_commands (void)
+ g_return_if_fail (client_id);
+
+ i = 0;
+- restartv[i] = "mutter";
++ restartv[i] = prgname;
+ ++i;
+ restartv[i] = "--sm-client-id";
+ ++i;
+@@ -603,7 +609,7 @@ set_clone_restart_commands (void)
+ /* Clone (no client ID) */
+
+ i = 0;
+- clonev[i] = "mutter";
++ clonev[i] = prgname;
+ ++i;
+ clonev[i] = NULL;
+