[Bf-blender-cvs] [99e81540981] greasepencil-object: Compile Fix: Fixes for the mode toggle operators
Joshua Leung
noreply at git.blender.org
Thu Feb 8 15:26:05 CET 2018
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 */
More information about the Bf-blender-cvs
mailing list