Hello community, here is the log from the commit of package gnome-session checked in at Sat May 17 02:26:13 CEST 2008. -------- --- GNOME/gnome-session/gnome-session.changes 2008-05-16 12:58:37.000000000 +0200 +++ gnome-session/gnome-session.changes 2008-05-16 15:38:33.277598000 +0200 @@ -1,0 +2,6 @@ +Fri May 16 15:43:50 CEST 2008 - vuntz@suse.de + +- Fix a crash in gnome-session-wm-switch.patch when there's no + client id in the saved session. Fix bnc#391305 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-session.spec ++++++ --- /var/tmp/diff_new_pack.a29709/_old 2008-05-17 02:23:40.000000000 +0200 +++ /var/tmp/diff_new_pack.a29709/_new 2008-05-17 02:23:40.000000000 +0200 @@ -16,7 +16,7 @@ License: GPL v2 or later; LGPL v2.1 or later Group: System/GUI/GNOME Version: 2.22.1.1 -Release: 31 +Release: 32 Summary: Session Tools for the GNOME 2.x Desktop Source: %{name}-%{version}.tar.bz2 Source1: gnome @@ -179,6 +179,9 @@ %files lang -f %{name}-2.0.lang %changelog +* Fri May 16 2008 vuntz@suse.de +- Fix a crash in gnome-session-wm-switch.patch when there's no + client id in the saved session. Fix bnc#391305 * Thu May 15 2008 olh@suse.de - remove unneeded Recommends: -64bit on ppc (bnc#390761) * Thu May 15 2008 vuntz@suse.de ++++++ gnome-session-wm-switch.patch ++++++ --- /var/tmp/diff_new_pack.a29709/_old 2008-05-17 02:23:41.000000000 +0200 +++ /var/tmp/diff_new_pack.a29709/_new 2008-05-17 02:23:41.000000000 +0200 @@ -1,6 +1,6 @@ diff -aurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-patched/gnome-session/main.c --- gnome-session-2.22.1.1/gnome-session/main.c 2008-04-10 16:32:20.000000000 +0200 -+++ gnome-session-2.22.1.1-patched/gnome-session/main.c 2008-05-13 10:56:24.000221000 +0200 ++++ gnome-session-2.22.1.1-patched/gnome-session/main.c 2008-05-16 15:28:42.777710000 +0200 @@ -47,6 +47,8 @@ #include "command.h" #include "splash-widget.h" @@ -10,7 +10,7 @@ #include "gsm-dbus.h" #include "gsm-sound.h" #include "gsm-gsd.h" -@@ -600,6 +602,71 @@ gsm_shutdown_gconfd (void) +@@ -600,6 +602,77 @@ gsm_shutdown_gconfd (void) g_free (command); } @@ -59,14 +59,20 @@ + prop = malloc (sizeof (SmProp)); + prop->name = strdup (SmRestartCommand); + prop->type = strdup (SmLISTofARRAY8); -+ prop->num_vals = 3; -+ prop->vals = malloc (3 * sizeof (SmPropValue)); ++ if (client->id) ++ prop->num_vals = 3; ++ else ++ prop->num_vals = 1; ++ prop->vals = malloc (prop->num_vals * sizeof (SmPropValue)); + prop->vals[0].value = strdup ("gnome-wm"); + prop->vals[0].length = strlen (prop->vals[0].value); -+ prop->vals[1].value = strdup ("--sm-client-id"); -+ prop->vals[1].length = strlen (prop->vals[1].value); -+ prop->vals[2].value = strdup (client->id); -+ prop->vals[2].length = strlen (prop->vals[2].value); ++ if (client->id) ++ { ++ prop->vals[1].value = strdup ("--sm-client-id"); ++ prop->vals[1].length = strlen (prop->vals[1].value); ++ prop->vals[2].value = strdup (client->id); ++ prop->vals[2].length = strlen (prop->vals[2].value); ++ } + client->properties = g_slist_prepend (client->properties, prop); + + prop = malloc (sizeof (SmProp)); @@ -82,7 +88,7 @@ int main (int argc, char *argv[]) { -@@ -777,6 +844,8 @@ main (int argc, char *argv[]) +@@ -777,6 +850,8 @@ main (int argc, char *argv[]) g_setenv ("GNOME_DESKTOP_SESSION_ID", session_name, TRUE); the_session = read_session (session_name); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org