[Bf-blender-cvs] [4bad42176b8] greasepencil-object: Check the context outside tool system
Antonio Vazquez
noreply at git.blender.org
Thu Jun 14 19:51:01 CEST 2018
Commit: 4bad42176b8f3799f2bda57df3c7397039b46046
Author: Antonio Vazquez
Date: Thu Jun 14 19:50:38 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB4bad42176b8f3799f2bda57df3c7397039b46046
Check the context outside tool system
for grease pencil we don't use tool system yet, so we need check outside workspace->tools_space_type because this value is not available.
Thanks Campbell Barton for his help fixing this bug.
===================================================================
M source/blender/editors/space_buttons/space_buttons.c
===================================================================
diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c
index b2a790dd819..2fd97041bed 100644
--- a/source/blender/editors/space_buttons/space_buttons.c
+++ b/source/blender/editors/space_buttons/space_buttons.c
@@ -212,8 +212,9 @@ static void buttons_main_region_layout_tool(const bContext *C, SpaceButs *sbuts,
const char *contexts[3] = {NULL};
const WorkSpace *workspace = CTX_wm_workspace(C);
+ const int mode = CTX_data_mode_enum(C);
+
if (workspace->tools_space_type == SPACE_VIEW3D) {
- const int mode = CTX_data_mode_enum(C);
switch (mode) {
case CTX_MODE_EDIT_MESH:
ARRAY_SET_ITEMS(contexts, ".mesh_edit");
@@ -257,24 +258,30 @@ static void buttons_main_region_layout_tool(const bContext *C, SpaceButs *sbuts,
case CTX_MODE_OBJECT:
ARRAY_SET_ITEMS(contexts, ".todo");
break;
- case CTX_MODE_GPENCIL_PAINT:
- ARRAY_SET_ITEMS(contexts, ".greasepencil_paint");
- break;
- case CTX_MODE_GPENCIL_EDIT:
- ARRAY_SET_ITEMS(contexts, ".greasepencil_edit");
- break;
- case CTX_MODE_GPENCIL_SCULPT:
- ARRAY_SET_ITEMS(contexts, ".greasepencil_sculpt");
- break;
- case CTX_MODE_GPENCIL_WEIGHT:
- ARRAY_SET_ITEMS(contexts, ".greasepencil_weight");
- break;
}
}
else if (workspace->tools_space_type == SPACE_IMAGE) {
/* TODO */
}
+ /* for grease pencil we don't use tool system yet, so we need check outside
+ * workspace->tools_space_type because this value is not available
+ */
+ switch (mode) {
+ case CTX_MODE_GPENCIL_PAINT:
+ ARRAY_SET_ITEMS(contexts, ".greasepencil_paint");
+ break;
+ case CTX_MODE_GPENCIL_EDIT:
+ ARRAY_SET_ITEMS(contexts, ".greasepencil_edit");
+ break;
+ case CTX_MODE_GPENCIL_SCULPT:
+ ARRAY_SET_ITEMS(contexts, ".greasepencil_sculpt");
+ break;
+ case CTX_MODE_GPENCIL_WEIGHT:
+ ARRAY_SET_ITEMS(contexts, ".greasepencil_weight");
+ break;
+ }
+
ED_region_panels_layout_ex(C, ar, contexts, -1, vertical);
}
More information about the Bf-blender-cvs
mailing list