always use the session id from the session manager when setting the restart property

This commit is contained in:
Dana Jansens 2003-06-21 16:37:39 +00:00
parent 4cf23f53e7
commit bab8b41f5c

View file

@ -330,7 +330,7 @@ static void sm_startup(int argc, char **argv)
SmProp *props[7]; SmProp *props[7];
gulong hint, pri; gulong hint, pri;
gchar pid[32]; gchar pid[32];
gint i; gint i, j;
gboolean has_id; gboolean has_id;
for (i = 1; i < argc - 1; ++i) for (i = 1; i < argc - 1; ++i)
@ -340,27 +340,29 @@ static void sm_startup(int argc, char **argv)
prop_cmd.vals = g_new(SmPropValue, (has_id ? argc-2 : argc)); prop_cmd.vals = g_new(SmPropValue, (has_id ? argc-2 : argc));
prop_cmd.num_vals = (has_id ? argc-2 : argc); prop_cmd.num_vals = (has_id ? argc-2 : argc);
for (i = 0; i < argc; ++i) { for (i = 0, j = 0; i < argc; ++i, ++j) {
if (strcmp (argv[i], "-sm-client-id") == 0) { if (strcmp (argv[i], "-sm-client-id") == 0) {
++i; /* skip the next as well */ ++i, --j; /* skip the next as well, keep j where it is */
} else { } else {
prop_cmd.vals[i].value = argv[i]; prop_cmd.vals[j].value = argv[i];
prop_cmd.vals[i].length = strlen(argv[i]); prop_cmd.vals[j].length = strlen(argv[i]);
} }
} }
prop_res.vals = g_new(SmPropValue, (has_id ? argc : argc+2)); prop_res.vals = g_new(SmPropValue, (has_id ? argc : argc+2));
prop_res.num_vals = (has_id ? argc : argc+2); prop_res.num_vals = (has_id ? argc : argc+2);
for (i = 0; i < argc; ++i) { for (i = 0, j = 0; i < argc; ++i, ++j) {
prop_res.vals[i].value = argv[i]; if (strcmp (argv[i], "-sm-client-id") == 0) {
prop_res.vals[i].length = strlen(argv[i]); ++i, --j; /* skip the next as well, keep j where it is */
} else {
prop_res.vals[j].value = argv[i];
prop_res.vals[j].length = strlen(argv[i]);
} }
if (!has_id) {
prop_res.vals[i].value = "-sm-client-id";
prop_res.vals[i++].length = strlen("-sm-client-id");
prop_res.vals[i].value = ob_sm_id;
prop_res.vals[i++].length = strlen(ob_sm_id);
} }
prop_res.vals[j].value = "-sm-client-id";
prop_res.vals[j++].length = strlen("-sm-client-id");
prop_res.vals[j].value = ob_sm_id;
prop_res.vals[j++].length = strlen(ob_sm_id);
val_prog.value = argv[0]; val_prog.value = argv[0];
val_prog.length = strlen(argv[0]); val_prog.length = strlen(argv[0]);