diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_toolsystem.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_toolsystem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_toolsystem.c b/source/blender/windowmanager/intern/wm_toolsystem.c index 4b229e48e12..6e08f607bae 100644 --- a/source/blender/windowmanager/intern/wm_toolsystem.c +++ b/source/blender/windowmanager/intern/wm_toolsystem.c @@ -369,7 +369,8 @@ void WM_toolsystem_ref_sync_from_context(Main *bmain, WorkSpace *workspace, bToo Scene *scene = WM_window_get_active_scene(win); ToolSettings *ts = scene->toolsettings; - const ViewLayer *view_layer = WM_window_get_active_view_layer(win); + ViewLayer *view_layer = WM_window_get_active_view_layer(win); + BKE_view_layer_synced_ensure(scene, view_layer); const Object *ob = BKE_view_layer_active_object_get(view_layer); if (ob == NULL) { /* pass */ @@ -440,7 +441,7 @@ static bool toolsystem_key_ensure_check(const bToolKey *tkey) return false; } -int WM_toolsystem_mode_from_spacetype(const Scene *UNUSED(scene), +int WM_toolsystem_mode_from_spacetype(const Scene *scene, ViewLayer *view_layer, ScrArea *area, int space_type) @@ -449,6 +450,7 @@ int WM_toolsystem_mode_from_spacetype(const Scene *UNUSED(scene), switch (space_type) { case SPACE_VIEW3D: { /* 'area' may be NULL in this case. */ + BKE_view_layer_synced_ensure(scene, view_layer); Object *obact = BKE_view_layer_active_object_get(view_layer); if (obact != NULL) { Object *obedit = OBEDIT_FROM_OBACT(obact); |