diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-02-08 13:14:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-02-08 13:14:26 +0300 |
commit | 345c6298e995ea618c34282ba6d7ab5af032f191 (patch) | |
tree | f4fbc4798e17d0f19efc28b51a41425d0c552be8 /source/blender/editors/space_image | |
parent | 14a19fed788af0cf3695eb5def92510841056e08 (diff) |
Object Mode: move to workspace struct
- Read-only access can often use EvaluationContext.object_mode
- Write access to go to WorkSpace.object_mode.
- Some TODO's remain (marked as "TODO/OBMODE")
- Add-ons will need updating
(context.active_object.mode -> context.workspace.object_mode)
- There will be small/medium issues that still need resolving
this does work on a basic level though.
See D3037
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r-- | source/blender/editors/space_image/image_edit.c | 9 | ||||
-rw-r--r-- | source/blender/editors/space_image/image_ops.c | 3 | ||||
-rw-r--r-- | source/blender/editors/space_image/space_image.c | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/editors/space_image/image_edit.c b/source/blender/editors/space_image/image_edit.c index 8db9f8fb720..68bef3fd142 100644 --- a/source/blender/editors/space_image/image_edit.c +++ b/source/blender/editors/space_image/image_edit.c @@ -378,11 +378,12 @@ bool ED_space_image_show_uvedit(SpaceImage *sima, Object *obedit) } /* matches clip function */ -bool ED_space_image_check_show_maskedit(SpaceImage *sima, ViewLayer *view_layer) +bool ED_space_image_check_show_maskedit( + SpaceImage *sima, const WorkSpace *workspace, ViewLayer *view_layer) { /* check editmode - this is reserved for UV editing */ Object *ob = OBACT(view_layer); - if (ob && ob->mode & OB_MODE_EDIT && ED_space_image_show_uvedit(sima, ob)) { + if (ob && (workspace->object_mode & OB_MODE_EDIT) && ED_space_image_show_uvedit(sima, ob)) { return false; } @@ -392,10 +393,10 @@ bool ED_space_image_check_show_maskedit(SpaceImage *sima, ViewLayer *view_layer) int ED_space_image_maskedit_poll(bContext *C) { SpaceImage *sima = CTX_wm_space_image(C); - if (sima) { + WorkSpace *workspace = CTX_wm_workspace(C); ViewLayer *view_layer = CTX_data_view_layer(C); - return ED_space_image_check_show_maskedit(sima, view_layer); + return ED_space_image_check_show_maskedit(sima, workspace, view_layer); } return false; diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index 6c8f9a12b7e..0ff30c228b4 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -791,6 +791,7 @@ void IMAGE_OT_view_all(wmOperatorType *ot) static int image_view_selected_exec(bContext *C, wmOperator *UNUSED(op)) { + WorkSpace *workspace = CTX_wm_workspace(C); SpaceImage *sima; ARegion *ar; Scene *scene; @@ -814,7 +815,7 @@ static int image_view_selected_exec(bContext *C, wmOperator *UNUSED(op)) return OPERATOR_CANCELLED; } } - else if (ED_space_image_check_show_maskedit(sima, view_layer)) { + else if (ED_space_image_check_show_maskedit(sima, workspace, view_layer)) { if (!ED_mask_selected_minmax(C, min, max)) { return OPERATOR_CANCELLED; } diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index e20d2a620d7..aa6120942d8 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -551,7 +551,7 @@ static void image_listener(bScreen *UNUSED(sc), ScrArea *sa, wmNotifier *wmn, Sc { ViewLayer *view_layer = BKE_view_layer_from_workspace_get(scene, workspace); Object *ob = OBACT(view_layer); - if (ob && (ob == wmn->reference) && (ob->mode & OB_MODE_EDIT)) { + if (ob && (ob == wmn->reference) && (workspace->object_mode & OB_MODE_EDIT)) { if (sima->lock && (sima->flag & SI_DRAWSHADOW)) { ED_area_tag_refresh(sa); ED_area_tag_redraw(sa); |