From 68c2f7a2d06fa1146f862e4f0959d9aeb60d7456 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 1 Oct 2019 01:36:02 +1000 Subject: [PATCH] Revert "Fix T58683: Reload Scripts breaks toolbar button formatting." This reverts commit ba90d2efa58fe23a87f98e014bcc02ea951a6a49. This can be resolved without adding a boolean to all operator types to check if it's "WM_OT_tool_set_by_id". --- source/blender/editors/interface/interface_query.c | 12 +++++++++++- source/blender/windowmanager/WM_types.h | 2 -- .../blender/windowmanager/intern/wm_operator_type.c | 5 ----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c index e08b13f65d4..457d01c5dc8 100644 --- a/source/blender/editors/interface/interface_query.c +++ b/source/blender/editors/interface/interface_query.c @@ -139,7 +139,17 @@ bool ui_but_has_array_value(const uiBut *but) bool UI_but_is_tool(const uiBut *but) { - return but->optype && but->optype->is_tool_button; + /* very evil! */ + if (but->optype != NULL) { + static wmOperatorType *ot = NULL; + if (ot == NULL) { + ot = WM_operatortype_find("WM_OT_tool_set_by_id", false); + } + if (but->optype == ot) { + return true; + } + } + return false; } bool UI_but_has_tooltip_label(const uiBut *but) diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index 0cf8b9c89f6..15ad8cbedc4 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -773,8 +773,6 @@ typedef struct wmOperatorType { /** Flag last for padding */ short flag; - /** Is the operator used by tool buttons, hack for fast checking. */ - bool is_tool_button; } wmOperatorType; /** diff --git a/source/blender/windowmanager/intern/wm_operator_type.c b/source/blender/windowmanager/intern/wm_operator_type.c index 394efc856e3..e3fe8892515 100644 --- a/source/blender/windowmanager/intern/wm_operator_type.c +++ b/source/blender/windowmanager/intern/wm_operator_type.c @@ -20,8 +20,6 @@ * Operator Registry. */ -#include - #include "MEM_guardedalloc.h" #include "CLG_log.h" @@ -129,9 +127,6 @@ static void wm_operatortype_append__end(wmOperatorType *ot) ot->srna, ot->name, ot->description ? ot->description : UNDOCUMENTED_OPERATOR_TIP); RNA_def_struct_identifier(&BLENDER_RNA, ot->srna, ot->idname); - /* A hack for efficiently detecting buttons with this specific operator. */ - ot->is_tool_button = STREQ(ot->idname, "WM_OT_tool_set_by_id"); - BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot); }