if previous client ID was supplied, use it in filename. use --sm-client-id
2007-03-26 Josselin Mouette <joss@malsain.org> * src/session.c (meta_session_init): if previous client ID was supplied, use it in filename. * src/session.c (set_clone_restart_commands): use --sm-client-id in command line to restore session, not original file name. * src/session.c (regenerate_save_file): generate filename using client ID and not original file name. * src/session.c (base_save_file): removed function. Closes GNOME 407981, Debian 391287, Debian 315169. svn path=/trunk/; revision=3125
This commit is contained in:
parent
44ef3b3a51
commit
44b86d468e
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2007-03-26 Josselin Mouette <joss@malsain.org>
|
||||
|
||||
* src/session.c (meta_session_init): if previous client ID
|
||||
was supplied, use it in filename.
|
||||
* src/session.c (set_clone_restart_commands): use --sm-client-id
|
||||
in command line to restore session, not original file name.
|
||||
* src/session.c (regenerate_save_file): generate filename using
|
||||
client ID and not original file name.
|
||||
* src/session.c (base_save_file): removed function.
|
||||
Closes GNOME 407981, Debian 391287, Debian 315169.
|
||||
|
||||
2007-03-25 Elijah Newren <newren gmail com>
|
||||
|
||||
* configure.in: bump version to 2.19.1; doesn't make sense to have
|
||||
|
@ -240,6 +240,12 @@ meta_session_init (const char *previous_client_id,
|
||||
saved_client_id = load_state (previous_save_file);
|
||||
previous_client_id = saved_client_id;
|
||||
}
|
||||
else if (previous_client_id)
|
||||
{
|
||||
char *save_file = g_strconcat (previous_client_id, ".ms", NULL);
|
||||
saved_client_id = load_state (save_file);
|
||||
g_free (save_file);
|
||||
}
|
||||
else
|
||||
{
|
||||
saved_client_id = NULL;
|
||||
@ -588,12 +594,14 @@ set_clone_restart_commands (void)
|
||||
prop1.name = SmRestartCommand;
|
||||
prop1.type = SmLISTofARRAY8;
|
||||
|
||||
g_return_if_fail (client_id);
|
||||
|
||||
i = 0;
|
||||
restartv[i] = "metacity";
|
||||
++i;
|
||||
restartv[i] = "--sm-save-file";
|
||||
restartv[i] = "--sm-client-id";
|
||||
++i;
|
||||
restartv[i] = (char*) base_save_file ();
|
||||
restartv[i] = client_id;
|
||||
++i;
|
||||
restartv[i] = NULL;
|
||||
|
||||
@ -1681,24 +1689,21 @@ session_info_new (void)
|
||||
return info;
|
||||
}
|
||||
|
||||
static char* relative_save_path = NULL;
|
||||
static char* full_save_path = NULL;
|
||||
|
||||
static void
|
||||
regenerate_save_file (void)
|
||||
{
|
||||
g_free (relative_save_path);
|
||||
g_free (full_save_path);
|
||||
|
||||
relative_save_path = g_strdup_printf ("%d-%d-%u.ms",
|
||||
(int) time (NULL),
|
||||
(int) getpid (),
|
||||
g_random_int ());
|
||||
|
||||
if (client_id)
|
||||
full_save_path = g_strconcat (g_get_home_dir (),
|
||||
"/.metacity/sessions/",
|
||||
relative_save_path,
|
||||
client_id,
|
||||
".ms",
|
||||
NULL);
|
||||
else
|
||||
full_save_path = NULL;
|
||||
}
|
||||
|
||||
static const char*
|
||||
@ -1707,12 +1712,6 @@ full_save_file (void)
|
||||
return full_save_path;
|
||||
}
|
||||
|
||||
static const char*
|
||||
base_save_file (void)
|
||||
{
|
||||
return relative_save_path;
|
||||
}
|
||||
|
||||
static int
|
||||
windows_cmp_by_title (MetaWindow *a,
|
||||
MetaWindow *b)
|
||||
|
Loading…
Reference in New Issue
Block a user