[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