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

Reply via email to