diff --git a/src/core/display.c b/src/core/display.c index f37fc3258..a4bf820fd 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -848,9 +848,10 @@ meta_display_open (void) the_display->screen = screen; + meta_screen_init_workspaces (screen); + enable_compositor (the_display); - meta_screen_init_workspaces (screen); meta_screen_create_guard_window (screen); /* Set up touch support */ diff --git a/src/core/screen.c b/src/core/screen.c index 0195a65c2..0b0dc7e9e 100644 --- a/src/core/screen.c +++ b/src/core/screen.c @@ -786,7 +786,6 @@ meta_screen_init_workspaces (MetaScreen *screen) else meta_verbose ("No _NET_CURRENT_DESKTOP present\n"); - meta_workspace_activate (screen->workspaces->data, timestamp); update_num_workspaces (screen, timestamp); set_workspace_names (screen); @@ -797,6 +796,8 @@ meta_screen_init_workspaces (MetaScreen *screen) if (current_workspace != NULL) meta_workspace_activate (current_workspace, timestamp); + else + meta_workspace_activate (screen->workspaces->data, timestamp); } void