@@ -91,7 +91,7 @@ public class Gala.MultitaskingView : ActorTarget, RootTarget, ActivatableCompone
9191 unowned var manager = display. get_workspace_manager ();
9292 manager. workspace_added. connect (add_workspace);
9393 manager. workspace_removed. connect (remove_workspace);
94- manager. workspaces_reordered. connect (on_workspaces_reordered );
94+ manager. workspaces_reordered. connect (sync_active_workspace );
9595 manager. workspace_switched. connect (on_workspace_switched);
9696
9797 workspaces_gesture_controller. overshoot_lower_clamp = - manager. n_workspaces - 0.1 + 1 ;
@@ -329,6 +329,8 @@ public class Gala.MultitaskingView : ActorTarget, RootTarget, ActivatableCompone
329329 workspaces. insert_child_at_index (workspace, num);
330330
331331 workspace. window_selected. connect (window_selected);
332+
333+ sync_active_workspace ();
332334 }
333335
334336 private void remove_workspace (int num ) {
@@ -356,12 +358,16 @@ public class Gala.MultitaskingView : ActorTarget, RootTarget, ActivatableCompone
356358 workspace. window_selected. disconnect (window_selected);
357359 workspace. destroy ();
358360
359- workspaces_gesture_controller . progress = - manager . get_active_workspace_index ();
361+ sync_active_workspace ();
360362 }
361363
362- private void on_workspaces_reordered () {
363- unowned var manager = display. get_workspace_manager ();
364- workspaces_gesture_controller. progress = - manager. get_active_workspace_index ();
364+ private void sync_active_workspace () {
365+ if (workspaces_gesture_controller. recognizing) {
366+ return ;
367+ }
368+
369+ var target = - display. get_workspace_manager (). get_active_workspace_index ();
370+ workspaces_gesture_controller. jump (target);
365371 }
366372
367373 private void on_workspace_switched (int from , int to ) {
0 commit comments