diff options
Diffstat (limited to 'xfce4-session/xfsm-manager.c')
-rw-r--r-- | xfce4-session/xfsm-manager.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/xfce4-session/xfsm-manager.c b/xfce4-session/xfsm-manager.c index d279edac..3deee21e 100644 --- a/xfce4-session/xfsm-manager.c +++ b/xfce4-session/xfsm-manager.c @@ -51,6 +51,7 @@ #include <xfce4-session/shutdown.h> #include <xfce4-session/xfsm-global.h> +#include <xfce4-session/xfsm-legacy.h> #include <xfce4-session/xfsm-manager.h> #include <xfce4-session/xfsm-startup.h> #include <xfce4-session/xfsm-util.h> @@ -154,6 +155,9 @@ xfsm_manager_startup_continue (const gchar *previous_id) xfce_rc_set_group (rc, buffer); xfsm_manager_restore_active_workspace (rc); xfce_rc_close (rc); + + /* start legacy applications now */ + xfsm_legacy_startup (); } } else @@ -247,6 +251,9 @@ xfsm_manager_load_session (void) xfsm_properties_free (properties); } + /* load legacy applications */ + xfsm_legacy_load_session (rc); + xfce_rc_close (rc); return pending_properties != NULL; @@ -668,6 +675,9 @@ xfsm_manager_save_yourself (XfsmClient *client, { state = shutdown ? XFSM_MANAGER_SHUTDOWN : XFSM_MANAGER_CHECKPOINT; + /* handle legacy applications first! */ + xfsm_legacy_perform_session_save (); + for (lp = running_clients; lp != NULL; lp = lp->next) { XfsmClient *client = XFSM_CLIENT (lp->data); @@ -1011,6 +1021,9 @@ xfsm_manager_store_session (void) xfce_rc_write_int_entry (rc, "Count", count); + /* store legacy applications state */ + xfsm_legacy_store_session (rc); + /* store current workspace numbers */ display = gdk_display_get_default (); for (n = 0; n < gdk_display_get_n_screens (display); ++n) |