Commit: 99e8154098169f350b3d0404be984efef2f68f9c Author: Joshua Leung Date: Fri Feb 9 03:17:07 2018 +1300 Branches: greasepencil-object https://developer.blender.org/rB99e8154098169f350b3d0404be984efef2f68f9c
Compile Fix: Fixes for the mode toggle operators * Changed ob->mode / ob->restore_mode to workspace->object_mode_restore / workspace->object_mode * BKE_workspace_object_mode_set() got removed. From the changes in rna_wm.c in (345c6298e995ea618c34282ba6d7ab5af032f191) it looks like this is all we still need to do now. However, this will need to be reviewed more carefully later. For now, this will do! =================================================================== M source/blender/editors/gpencil/gpencil_edit.c =================================================================== diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c index 9425da089ec..9312b18b199 100644 --- a/source/blender/editors/gpencil/gpencil_edit.c +++ b/source/blender/editors/gpencil/gpencil_edit.c @@ -208,15 +208,17 @@ static int gpencil_editmode_toggle_exec(bContext *C, wmOperator *op) if (is_object) { /* try to back previous mode */ - if ((ob->restore_mode) && ((gpd->flag & GP_DATA_STROKE_EDITMODE) == 0) && (back == 1)) { - mode = ob->restore_mode; + if ((workspace->object_mode_restore) && ((gpd->flag & GP_DATA_STROKE_EDITMODE) == 0) && (back == 1)) { + mode = workspace->object_mode_restore; } - ob->restore_mode = ob->mode; - ob->mode = mode; + workspace->object_mode_restore = workspace->object_mode; + workspace->object_mode = mode; } /* set workspace mode */ - BKE_workspace_object_mode_set(workspace, scene, mode); + // XXX: was BKE_workspace_object_mode_set() + ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene); + ED_object_base_activate(C, view_layer->basact); /* setup other modes */ gpencil_setup_modes(C, gpd, mode); /* set cache as dirty */ @@ -289,15 +291,17 @@ static int gpencil_paintmode_toggle_exec(bContext *C, wmOperator *op) if (is_object) { /* try to back previous mode */ - if ((ob->restore_mode) && ((gpd->flag & GP_DATA_STROKE_PAINTMODE) == 0) && (back == 1)) { - mode = ob->restore_mode; + if ((workspace->object_mode_restore) && ((gpd->flag & GP_DATA_STROKE_PAINTMODE) == 0) && (back == 1)) { + mode = workspace->object_mode_restore; } - ob->restore_mode = ob->mode; - ob->mode = mode; + workspace->object_mode_restore = workspace->object_mode; + workspace->object_mode = mode; } /* set workspace mode */ - BKE_workspace_object_mode_set(workspace, scene, mode); + // XXX: was BKE_workspace_object_mode_set() + ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene); + ED_object_base_activate(C, view_layer->basact); /* setup other modes */ gpencil_setup_modes(C, gpd, mode); /* set cache as dirty */ @@ -369,15 +373,17 @@ static int gpencil_sculptmode_toggle_exec(bContext *C, wmOperator *op) if (is_object) { /* try to back previous mode */ - if ((ob->restore_mode) && ((gpd->flag & GP_DATA_STROKE_SCULPTMODE) == 0) && (back == 1)) { - mode = ob->restore_mode; + if ((workspace->object_mode_restore) && ((gpd->flag & GP_DATA_STROKE_SCULPTMODE) == 0) && (back == 1)) { + mode = workspace->object_mode_restore; } - ob->restore_mode = ob->mode; - ob->mode = mode; + workspace->object_mode_restore = workspace->object_mode; + workspace->object_mode = mode; } /* set workspace mode */ - BKE_workspace_object_mode_set(workspace, scene, mode); + // XXX: was BKE_workspace_object_mode_set() + ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene); + ED_object_base_activate(C, view_layer->basact); /* setup other modes */ gpencil_setup_modes(C, gpd, mode); /* set cache as dirty */ @@ -449,15 +455,17 @@ static int gpencil_weightmode_toggle_exec(bContext *C, wmOperator *op) if (is_object) { /* try to back previous mode */ - if ((ob->restore_mode) && ((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && (back == 1)) { - mode = ob->restore_mode; + if ((workspace->object_mode_restore) && ((gpd->flag & GP_DATA_STROKE_WEIGHTMODE) == 0) && (back == 1)) { + mode = workspace->object_mode_restore; } - ob->restore_mode = ob->mode; - ob->mode = mode; + workspace->object_mode_restore = workspace->object_mode; + workspace->object_mode = mode; } /* set workspace mode */ - BKE_workspace_object_mode_set(workspace, scene, mode); + // XXX: was BKE_workspace_object_mode_set() + ViewLayer *view_layer = BKE_workspace_view_layer_get(workspace, scene); + ED_object_base_activate(C, view_layer->basact); /* setup other modes */ gpencil_setup_modes(C, gpd, mode); /* set cache as dirty */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs