diff -purN xfce4-session-4.4.2/xfce4-session/xfsm-manager.c xfce4-session-4.4.2.new/xfce4-session/xfsm-manager.c --- xfce4-session-4.4.2/xfce4-session/xfsm-manager.c 2007-11-17 11:31:07.000000000 -0800 +++ xfce4-session-4.4.2.new/xfce4-session/xfsm-manager.c 2008-07-26 08:58:18.000000000 -0700 @@ -454,7 +454,9 @@ xfsm_manager_startup_continue (const gch return; } - startup_done = xfsm_startup_continue (previous_id); + startup_done = FALSE; + while (!startup_done) + startup_done = xfsm_startup_continue (previous_id); if (startup_done) { diff -purN xfce4-session-4.4.2/xfce4-session/xfsm-startup.c xfce4-session-4.4.2.new/xfce4-session/xfsm-startup.c --- xfce4-session-4.4.2/xfce4-session/xfsm-startup.c 2007-11-17 11:31:07.000000000 -0800 +++ xfce4-session-4.4.2.new/xfce4-session/xfsm-startup.c 2008-07-25 23:30:57.000000000 -0700 @@ -374,7 +374,7 @@ xfsm_startup_autostart_xdg (void) terminal = xfce_rc_read_bool_entry (rc, "Terminal", FALSE); /* try to launch the command */ - if (!xfce_exec (exec, terminal, startup_notify, &error)) + if (!xfce_exec (exec, terminal, 0, &error)) { g_warning ("Unable to launch \"%s\" (specified by %s): %s", exec, files[n], error->message); g_error_free (error);