[Bf-blender-cvs] [c0ce31c289b] temp-workspace-object-mode-removal: Merge branch '28' into temp-workspace-object-mode-removal
Campbell Barton
noreply at git.blender.org
Wed Feb 7 08:40:53 CET 2018
Commit: c0ce31c289b203197169d4449b2e8ef68feb0778
Author: Campbell Barton
Date: Wed Feb 7 18:40:31 2018 +1100
Branches: temp-workspace-object-mode-removal
https://developer.blender.org/rBc0ce31c289b203197169d4449b2e8ef68feb0778
Merge branch '28' into temp-workspace-object-mode-removal
===================================================================
===================================================================
diff --cc source/blender/blenkernel/BKE_workspace.h
index dd59f3de6d4,1c1f15ec99a..f839d4cdf76
--- a/source/blender/blenkernel/BKE_workspace.h
+++ b/source/blender/blenkernel/BKE_workspace.h
@@@ -129,6 -149,11 +129,10 @@@ void BKE_workspace_update_tagged(struc
struct WorkSpace *workspace,
struct Scene *scene);
+ void BKE_workspace_update_object_mode(
+ struct EvaluationContext *eval_ctx,
- struct WorkSpace *workspace,
- struct Scene *scene);
++ struct WorkSpace *workspace);
+
#undef GETTER_ATTRS
#undef SETTER_ATTRS
diff --cc source/blender/blenkernel/intern/workspace.c
index 3901fba2769,4b6bd3ac35b..dcd4183210d
--- a/source/blender/blenkernel/intern/workspace.c
+++ b/source/blender/blenkernel/intern/workspace.c
@@@ -506,3 -523,17 +508,13 @@@ void BKE_workspace_update_tagged(struc
true);
BKE_scene_graph_update_tagged(eval_ctx, depsgraph, bmain, scene, view_layer);
}
+
+ void BKE_workspace_update_object_mode(
+ struct EvaluationContext *eval_ctx,
- WorkSpace *workspace, Scene *scene)
++ WorkSpace *workspace)
+ {
- ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene);
-
+ /* TODO(campbell): Investigate how this should work exactly,
+ * for now without this 'bmain->eval_ctx' is never set. */
- {
- Object *ob = view_layer->basact ? view_layer->basact->object : NULL;
- eval_ctx->object_mode = ob ? (eObjectMode)ob->mode : OB_MODE_OBJECT;
- }
++
++ eval_ctx->object_mode = workspace->object_mode;
+ }
diff --cc source/blender/editors/sculpt_paint/paint_vertex.c
index c645c84ad8f,43bb19639cf..3a20973c465
--- a/source/blender/editors/sculpt_paint/paint_vertex.c
+++ b/source/blender/editors/sculpt_paint/paint_vertex.c
@@@ -1086,10 -1085,7 +1086,7 @@@ static int wpaint_mode_toggle_exec(bCon
paint_cursor_delete_textures();
}
else {
- EvaluationContext eval_ctx;
- CTX_data_eval_ctx(C, &eval_ctx);
-
- ob->mode |= mode_flag;
+ workspace->object_mode |= mode_flag;
if (wp == NULL)
wp = scene->toolsettings->wpaint = new_vpaint();
diff --cc source/blender/windowmanager/intern/wm_event_system.c
index d592f15988a,5d34d0a7549..b26bbda6855
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@@ -339,6 -339,9 +339,9 @@@ void wm_event_do_refresh_wm_and_depsgra
scene->customdata_mask |= scene->customdata_mask_modal;
WorkSpace *workspace = WM_window_get_active_workspace(win);
+
- BKE_workspace_update_object_mode(bmain->eval_ctx, workspace, scene);
++ BKE_workspace_update_object_mode(bmain->eval_ctx, workspace);
+
BKE_workspace_update_tagged(bmain->eval_ctx, bmain, workspace, scene);
}
}
More information about the Bf-blender-cvs
mailing list