Commit: 5db950e860b2f64078cfc8cf00cb4f430b8a1baf Author: Campbell Barton Date: Fri Feb 9 22:14:17 2018 +1100 Branches: blender2.8 https://developer.blender.org/rB5db950e860b2f64078cfc8cf00cb4f430b8a1baf
Cleanup: use workspace for object_mode when possible =================================================================== M source/blender/blenkernel/BKE_object.h M source/blender/blenkernel/BKE_paint.h M source/blender/blenkernel/intern/DerivedMesh.c M source/blender/blenkernel/intern/context.c M source/blender/blenkernel/intern/object.c M source/blender/blenkernel/intern/paint.c M source/blender/editors/armature/pose_select.c M source/blender/editors/interface/interface_icons.c M source/blender/editors/mesh/editmesh_select.c M source/blender/editors/mesh/mesh_data.c M source/blender/editors/object/object_bake.c M source/blender/editors/object/object_edit.c M source/blender/editors/object/object_facemap_ops.c M source/blender/editors/object/object_modifier.c M source/blender/editors/object/object_ops.c M source/blender/editors/object/object_relations.c M source/blender/editors/object/object_select.c M source/blender/editors/object/object_shapekey.c M source/blender/editors/object/object_transform.c M source/blender/editors/object/object_vgroup.c M source/blender/editors/physics/particle_edit.c M source/blender/editors/render/render_shading.c M source/blender/editors/screen/screen_context.c M source/blender/editors/screen/screen_ops.c M source/blender/editors/sculpt_paint/paint_curve.c M source/blender/editors/sculpt_paint/paint_image.c M source/blender/editors/sculpt_paint/paint_image_proj.c M source/blender/editors/sculpt_paint/paint_ops.c M source/blender/editors/sculpt_paint/paint_vertex.c M source/blender/editors/sculpt_paint/paint_vertex_color_ops.c M source/blender/editors/sculpt_paint/paint_vertex_weight_ops.c M source/blender/editors/sculpt_paint/sculpt.c M source/blender/editors/space_buttons/buttons_context.c M source/blender/editors/space_image/image_edit.c M source/blender/editors/space_outliner/outliner_edit.c M source/blender/editors/space_outliner/outliner_select.c M source/blender/editors/space_view3d/drawobject.c M source/blender/editors/space_view3d/space_view3d.c M source/blender/editors/space_view3d/view3d_buttons.c M source/blender/editors/space_view3d/view3d_draw.c M source/blender/editors/space_view3d/view3d_draw_legacy.c M source/blender/editors/space_view3d/view3d_edit.c M source/blender/editors/space_view3d/view3d_header.c M source/blender/editors/space_view3d/view3d_intern.h M source/blender/editors/space_view3d/view3d_select.c M source/blender/editors/space_view3d/view3d_snap.c M source/blender/editors/transform/transform.c M source/blender/editors/transform/transform_generics.c M source/blender/editors/transform/transform_manipulator.c M source/blender/editors/transform/transform_orientations.c M source/blender/editors/util/undo.c M source/blender/makesrna/intern/rna_object.c M source/blender/makesrna/intern/rna_scene.c M source/blender/nodes/texture/node_texture_tree.c =================================================================== diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 9ed4da87395..536b21e83ce 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -85,7 +85,7 @@ void BKE_object_copy_proxy_drivers(struct Object *ob, struct Object *target); bool BKE_object_exists_check(struct Object *obtest); bool BKE_object_is_in_editmode(const struct Object *ob); bool BKE_object_is_in_editmode_vgroup(struct Object *ob); -bool BKE_object_is_in_wpaint_select_vert(const struct EvaluationContext *eval_ctx, const struct Object *ob); +bool BKE_object_is_in_wpaint_select_vert(const struct Object *ob, eObjectMode object_mode); typedef enum eObjectVisibilityCheck { OB_VISIBILITY_CHECK_FOR_VIEWPORT, diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h index 17f6438870c..2840971f157 100644 --- a/source/blender/blenkernel/BKE_paint.h +++ b/source/blender/blenkernel/BKE_paint.h @@ -147,12 +147,9 @@ bool BKE_paint_proj_mesh_data_check(struct Scene *scene, struct Object *ob, bool /* testing face select mode * Texture paint could be removed since selected faces are not used * however hiding faces is useful */ -bool BKE_paint_select_face_test( - const struct EvaluationContext *eval_ctx, struct Object *ob); -bool BKE_paint_select_vert_test( - const struct EvaluationContext *eval_ctx, struct Object *ob); -bool BKE_paint_select_elem_test( - const struct EvaluationContext *eval_ctx, struct Object *ob); +bool BKE_paint_select_face_test(struct Object *ob, eObjectMode object_mode); +bool BKE_paint_select_vert_test(struct Object *ob, eObjectMode object_mode); +bool BKE_paint_select_elem_test(struct Object *ob, eObjectMode object_mode); /* partial visibility */ bool paint_is_face_hidden(const struct MLoopTri *lt, const struct MVert *mvert, const struct MLoop *mloop); diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 5229cb35645..67463ffe915 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -2721,7 +2721,7 @@ static CustomDataMask object_get_datamask( } if (ob == actob) { - bool editing = BKE_paint_select_face_test(eval_ctx, ob); + bool editing = BKE_paint_select_face_test(ob, eval_ctx->object_mode); /* weight paint and face select need original indices because of selection buffer drawing */ if (r_need_mapping) { diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 8b7356eaa9e..2af3b6ce593 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -1035,11 +1035,10 @@ int CTX_data_mode_enum_ex(const Object *obedit, const Object *ob, const eObjectM int CTX_data_mode_enum(const bContext *C) { - EvaluationContext eval_ctx; - CTX_data_eval_ctx(C, &eval_ctx); + const WorkSpace *workspace = CTX_wm_workspace(C); Object *obedit = CTX_data_edit_object(C); Object *obact = obedit ? NULL : CTX_data_active_object(C); - return CTX_data_mode_enum_ex(obedit, obact, eval_ctx.object_mode); + return CTX_data_mode_enum_ex(obedit, obact, workspace->object_mode); } /* would prefer if we can use the enum version below over this one - Campbell */ diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 127830c0cf7..a0d2e7d76c8 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -538,11 +538,11 @@ bool BKE_object_is_in_editmode_vgroup(Object *ob) BKE_object_is_in_editmode(ob)); } -bool BKE_object_is_in_wpaint_select_vert(const EvaluationContext *eval_ctx, const Object *ob) +bool BKE_object_is_in_wpaint_select_vert(const Object *ob, eObjectMode object_mode) { if (ob->type == OB_MESH) { const Mesh *me = ob->data; - return ((eval_ctx->object_mode & OB_MODE_WEIGHT_PAINT) && + return ((object_mode & OB_MODE_WEIGHT_PAINT) && (me->edit_btmesh == NULL) && (ME_EDIT_PAINT_SEL_MODE(me) == SCE_SELECT_VERTEX)); } diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c index 5a267f97d03..81943d470dc 100644 --- a/source/blender/blenkernel/intern/paint.c +++ b/source/blender/blenkernel/intern/paint.c @@ -41,6 +41,7 @@ #include "DNA_scene_types.h" #include "DNA_brush_types.h" #include "DNA_space_types.h" +#include "DNA_workspace_types.h" #include "BLI_bitmap.h" #include "BLI_utildefines.h" @@ -235,9 +236,7 @@ Paint *BKE_paint_get_active_from_context(const bContext *C) SpaceImage *sima; if (sce && view_layer) { - EvaluationContext eval_ctx; - CTX_data_eval_ctx(C, &eval_ctx); - + const WorkSpace *workspace = CTX_wm_workspace(C); ToolSettings *ts = sce->toolsettings; Object *obact = NULL; @@ -245,7 +244,7 @@ Paint *BKE_paint_get_active_from_context(const bContext *C) obact = view_layer->basact->object; if ((sima = CTX_wm_space_image(C)) != NULL) { - if (obact && eval_ctx.object_mode == OB_MODE_EDIT) { + if (obact && workspace->object_mode == OB_MODE_EDIT) { if (sima->mode == SI_MODE_PAINT) return &ts->imapaint.paint; else if (ts->use_uv_sculpt) @@ -256,7 +255,7 @@ Paint *BKE_paint_get_active_from_context(const bContext *C) } } else if (obact) { - switch (eval_ctx.object_mode) { + switch (workspace->object_mode) { case OB_MODE_SCULPT: return &ts->sculpt->paint; case OB_MODE_VERTEX_PAINT: @@ -289,9 +288,7 @@ ePaintMode BKE_paintmode_get_active_from_context(const bContext *C) SpaceImage *sima; if (sce && view_layer) { - EvaluationContext eval_ctx; - CTX_data_eval_ctx(C, &eval_ctx); - + const WorkSpace *workspace = CTX_wm_workspace(C); ToolSettings *ts = sce->toolsettings; Object *obact = NULL; @@ -299,7 +296,7 @@ ePaintMode BKE_paintmode_get_active_from_context(const bContext *C) obact = view_layer->basact->object; if ((sima = CTX_wm_space_image(C)) != NULL) { - if (obact && eval_ctx.object_mode == OB_MODE_EDIT) { + if (obact && workspace->object_mode == OB_MODE_EDIT) { if (sima->mode == SI_MODE_PAINT) return ePaintTexture2D; else if (ts->use_uv_sculpt) @@ -310,7 +307,7 @@ ePaintMode BKE_paintmode_get_active_from_context(const bContext *C) } } else if (obact) { - switch (eval_ctx.object_mode) { + switch (workspace->object_mode) { case OB_MODE_SCULPT: return ePaintSculpt; case OB_MODE_VERTEX_PAINT: @@ -501,24 +498,24 @@ bool BKE_palette_is_empty(const struct Palette *palette) /* are we in vertex paint or weight pain face select mode? */ -bool BKE_paint_select_face_test(const EvaluationContext *eval_ctx, Object *ob) +bool BKE_paint_select_face_test(Object *ob, eObjectMode object_mode) { return ( (ob != NULL) && (ob->type == OB_MESH) && (ob->data != NULL) && (((Mesh *)ob->data)->editflag & ME_EDIT_PAINT_FACE_SEL) && - (eval_ctx->object_mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT)) + (object_mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT | OB_MODE_TEXTURE_PAINT)) ); } /* are we in weight paint vertex select mode? */ -bool BKE_paint_select_vert_test(const EvaluationContext *eval_ctx, Object *ob) +bool BKE_paint_select_vert_test(Object *ob, eObjectMode object_mode) { return ( (ob != NULL) && (ob->type == OB_MESH) && (ob->data != NULL) && (((Mesh *)ob->data)->editflag & ME_EDIT_PAINT_VERT_SEL) && - (eval_ctx->object_mode & OB_MODE_WEIGHT_PAINT || eval_ctx->object_mode & OB_MODE_VERTEX_PAINT) + (object_mode & OB_MODE_WEIGHT_PAINT || object_mode & OB_MODE_VERTEX_PAINT) ); } @@ -526,10 +523,10 @@ bool BKE_paint_select_vert_test(const EvaluationContext *eval_ctx, Object *ob) * used to check if selection is possible * (when we don't care if its face or vert) */ -bool BKE_paint_select_elem_test(const EvaluationContext *eval_ctx, Object *ob) +bool BKE_paint_select_elem_test(Object *ob, eObjectMode object_mode) { - return (BKE_paint_select_vert_test(eval_ctx, ob) || - BKE_paint_select_face_test(eval_ctx, ob)); + return (BKE_paint_select_vert_test(ob, object_mode) || + BKE_paint_select_face_test(ob, object_mode)); } void BKE_paint_cavity_curve_preset(Paint *p, int preset) diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c index 14baa1fb179..a43f3ff4acc 100644 --- a/source/blender/editors/armature/pose_select.c +++ b/source/blender/editors/armature/pose_select.c @@ -874,9 +874,7 @@ void POSE_OT_select_grouped(wmOperatorType *ot) */ static int pose_select_mirror_exec(bContext *C, wmOperator *op) { - EvaluationContext eval_ctx; - CTX_data_eval_ctx(C, &eval_ctx); - + const WorkSpace *workspace = CTX_wm_workspace(C); Object *ob_act = CTX_data_active_object(C); Object *ob = BKE_object_pose_armature_get(ob_act); bArmature *arm; @@ -920,7 +918,7 @@ static int pose_select_mirror_exec(bContext *C, wmOperator *op) arm->act_bone = pchan_mirror_act->bone; /* in weightpaint we select the associated vertex group too */ - if (eval_ctx.object_mode & OB_MODE_WEIGHT_PAINT) { + if (workspace->object_mode & OB_MODE_WEIGHT_PAINT) { ED_vgroup_select_by_name(ob_act, pchan_mirror_act->name); DEG_id_tag_update(&ob_act->id, OB_RECALC_DATA); } diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c index 2941b08b7ad..f2798cedae1 100644 --- a/source/blender/editors/interface/interface_icons.c +++ b/source/blender/editors/interface/interface_icons.c @@ -46,6 +46,7 @@ #include "DNA_object_types.h" #include "DNA_screen_types.h" #include "DNA_space_types.h" +#include "DNA_workspace_types.h" #include "RNA_access.h" #include "RNA_enum_types.h" @@ -1195,8 +1196,7 @@ static int ui_id_brush_get_icon(const bContext *C, ID *id) ui_id_icon_render(C, id, true); } else { - EvaluationContext eval_ctx; - CTX_data_eval_ctx(C, &eval_ctx); + const WorkSpace *workspace = CTX_wm_workspac @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs