diff options
Diffstat (limited to 'source/blender/blenkernel/intern/workspace.c')
-rw-r--r-- | source/blender/blenkernel/intern/workspace.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/workspace.c b/source/blender/blenkernel/intern/workspace.c index 67639b4c7ab..785fd71df69 100644 --- a/source/blender/blenkernel/intern/workspace.c +++ b/source/blender/blenkernel/intern/workspace.c @@ -388,14 +388,23 @@ void BKE_workspace_active_screen_set(WorkSpaceInstanceHook *hook, WorkSpace *wor #ifdef USE_WORKSPACE_MODE eObjectMode BKE_workspace_object_mode_get(const WorkSpace *workspace) { - return workspace->object_mode; + Base *active_base = BKE_workspace_active_base_get(workspace); + return active_base ? active_base->object->mode : OB_MODE_OBJECT; } void BKE_workspace_object_mode_set(WorkSpace *workspace, const eObjectMode mode) { - workspace->object_mode = mode; + Base *active_base = BKE_workspace_active_base_get(workspace); + if (active_base) { + active_base->object->mode = mode; + } } #endif +Base *BKE_workspace_active_base_get(const WorkSpace *workspace) +{ + return workspace->view_layer->basact; +} + ListBase *BKE_workspace_transform_orientations_get(WorkSpace *workspace) { return &workspace->transform_orientations; |