summaryrefslogtreecommitdiff
path: root/xfce4-session/xfsm-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'xfce4-session/xfsm-manager.c')
-rw-r--r--xfce4-session/xfsm-manager.c13
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)