Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/screen/workspace_edit.c
| Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | #if 0 | ||||
| } | } | ||||
| #endif | #endif | ||||
| } | } | ||||
| static void workspace_change_update_view_layer( | static void workspace_change_update_view_layer( | ||||
| WorkSpace *workspace_new, const WorkSpace *workspace_old, | WorkSpace *workspace_new, const WorkSpace *workspace_old, | ||||
| Scene *scene) | Scene *scene) | ||||
| { | { | ||||
| if (!BKE_workspace_view_layer_get(workspace_new, scene)) { | if (!BKE_workspace_view_layer_exists(workspace_new, scene)) { | ||||
| BKE_workspace_view_layer_set(workspace_new, BKE_workspace_view_layer_get(workspace_old, scene), scene); | BKE_workspace_view_layer_set(workspace_new, BKE_workspace_view_layer_get(workspace_old, scene), scene); | ||||
| } | } | ||||
| } | } | ||||
| static void workspace_change_update( | static void workspace_change_update( | ||||
| WorkSpace *workspace_new, const WorkSpace *workspace_old, | WorkSpace *workspace_new, const WorkSpace *workspace_old, | ||||
| bContext *C, wmWindowManager *wm) | bContext *C, wmWindowManager *wm) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 72 Lines • ▼ Show 20 Lines | if (screen_new) { | ||||
| WM_window_set_active_layout(win, workspace_new, layout_new); | WM_window_set_active_layout(win, workspace_new, layout_new); | ||||
| WM_window_set_active_workspace(win, workspace_new); | WM_window_set_active_workspace(win, workspace_new); | ||||
| /* update screen *after* changing workspace - which also causes the | /* update screen *after* changing workspace - which also causes the | ||||
| * actual screen change and updates context (including CTX_wm_workspace) */ | * actual screen change and updates context (including CTX_wm_workspace) */ | ||||
| screen_change_update(C, win, screen_new); | screen_change_update(C, win, screen_new); | ||||
| workspace_change_update(workspace_new, workspace_old, C, wm); | workspace_change_update(workspace_new, workspace_old, C, wm); | ||||
| BLI_assert(BKE_workspace_view_layer_get(workspace_new, CTX_data_scene(C)) != NULL); | BLI_assert(BKE_workspace_view_layer_exists(workspace_new, CTX_data_scene(C)) != NULL); | ||||
| BLI_assert(CTX_wm_workspace(C) == workspace_new); | BLI_assert(CTX_wm_workspace(C) == workspace_new); | ||||
| WM_toolsystem_unlink_all(C, workspace_old); | WM_toolsystem_unlink_all(C, workspace_old); | ||||
| WM_toolsystem_reinit_all(C, win); | WM_toolsystem_reinit_all(C, win); | ||||
| return true; | return true; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 298 Lines • Show Last 20 Lines | |||||