[Bf-blender-cvs] [d33c27d68bb] blender-v2.83-release: Fix T75457: Toggle brushes using same hotkey twice is broken

Philipp Oeser noreply at git.blender.org
Wed May 20 15:16:43 CEST 2020


Commit: d33c27d68bb3dfa6f2a5690657ee820e9d65822c
Author: Philipp Oeser
Date:   Tue May 19 09:47:13 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBd33c27d68bb3dfa6f2a5690657ee820e9d65822c

Fix T75457: Toggle brushes using same hotkey twice is broken

Caused by rB47da01a4db1d.

Above commit did not change the toolname it was setting when the brush
was actually toggled.

Maniphest Tasks: T75457

Differential Revision: https://developer.blender.org/D7792

===================================================================

M	source/blender/editors/sculpt_paint/paint_ops.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c
index d607b6a9d6f..c2b771088a8 100644
--- a/source/blender/editors/sculpt_paint/paint_ops.c
+++ b/source/blender/editors/sculpt_paint/paint_ops.c
@@ -731,7 +731,14 @@ static bool brush_generic_tool_set(bContext *C,
     WM_main_add_notifier(NC_BRUSH | NA_EDITED, brush);
 
     /* Tool System
-     * This is needed for when there is a non-sculpt tool active (transform for e.g.) */
+     * This is needed for when there is a non-sculpt tool active (transform for e.g.).
+     * In case we are toogling (and the brush changed to the toggle_brush), we need to get the
+     * tool_name again. */
+    int tool_result = brush_tool(brush, paint->runtime.tool_offset);
+    ePaintMode paint_mode = BKE_paintmode_get_active_from_context(C);
+    const EnumPropertyItem *items = BKE_paint_get_tool_enum_from_paintmode(paint_mode);
+    RNA_enum_name_from_value(items, tool_result, &tool_name);
+
     char tool_id[MAX_NAME];
     SNPRINTF(tool_id, "builtin_brush.%s", tool_name);
     WM_toolsystem_ref_set_by_id(C, tool_id);



More information about the Bf-blender-cvs mailing list