Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-05-03 08:31:55 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-05-03 08:33:44 +0300
commite954082dda865c7f731d75ad131ba499948fe3a2 (patch)
treee6acaba9bd896c0df7791744658b80fd75bbe0e1
parentd9f4ce617b8ff0e52f0e87fa848d50fbccad4448 (diff)
WM: warn when tool widget not found
This happens when testing adding tools, assert isn't useful.
-rw-r--r--source/blender/windowmanager/WM_types.h1
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c1
-rw-r--r--source/blender/windowmanager/intern/wm_toolsystem.c11
3 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 59a3f703614..bbd12ddfb0a 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -739,6 +739,7 @@ extern struct CLG_LogRef *WM_LOG_OPERATORS;
extern struct CLG_LogRef *WM_LOG_HANDLERS;
extern struct CLG_LogRef *WM_LOG_EVENTS;
extern struct CLG_LogRef *WM_LOG_KEYMAPS;
+extern struct CLG_LogRef *WM_LOG_TOOLS;
#ifdef __cplusplus
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index d452c1638c8..1f17efa0845 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -136,6 +136,7 @@ CLG_LOGREF_DECLARE_GLOBAL(WM_LOG_OPERATORS, "wm.operator");
CLG_LOGREF_DECLARE_GLOBAL(WM_LOG_HANDLERS, "wm.handler");
CLG_LOGREF_DECLARE_GLOBAL(WM_LOG_EVENTS, "wm.event");
CLG_LOGREF_DECLARE_GLOBAL(WM_LOG_KEYMAPS, "wm.keymap");
+CLG_LOGREF_DECLARE_GLOBAL(WM_LOG_TOOLS, "wm.tool");
static void wm_init_reports(bContext *C)
{
diff --git a/source/blender/windowmanager/intern/wm_toolsystem.c b/source/blender/windowmanager/intern/wm_toolsystem.c
index 690628bbd3b..e449695e3cf 100644
--- a/source/blender/windowmanager/intern/wm_toolsystem.c
+++ b/source/blender/windowmanager/intern/wm_toolsystem.c
@@ -26,6 +26,8 @@
#include <string.h>
+#include "CLG_log.h"
+
#include "BLI_utildefines.h"
#include "BLI_string.h"
@@ -78,7 +80,14 @@ void WM_toolsystem_unlink(bContext *C, WorkSpace *workspace)
void WM_toolsystem_link(bContext *C, WorkSpace *workspace)
{
if (workspace->tool.manipulator_group[0]) {
- WM_manipulator_group_type_ensure(workspace->tool.manipulator_group);
+ const char *idname = workspace->tool.manipulator_group;
+ wmManipulatorGroupType *wgt = WM_manipulatorgrouptype_find(idname, false);
+ if (wgt != NULL) {
+ WM_manipulator_group_type_ensure_ptr(wgt);
+ }
+ else {
+ CLOG_WARN(WM_LOG_TOOLS, "'%s' widget not found", idname);
+ }
}
if (workspace->tool.data_block[0]) {