diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-05-26 02:07:21 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-05-26 02:07:21 +0400 |
commit | 7e9fdd97baf4d31fb044e9e714f93387d5d5934a (patch) | |
tree | 766d955b6548fcdd7cd50ed947bbb30ce05402da /source | |
parent | b9817cd20767fa3ba61f80ef725fb42d6f3dd48f (diff) |
fix for incorrect type casting when checking macros exec() functions.
infact this worked by accident, but didn't crash.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index d83d27e63bd..91b7b81940b 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -718,9 +718,10 @@ int WM_operator_repeat_check(const bContext *UNUSED(C), wmOperator *op) } else if (op->opm) { /* for macros, check all have exec() we can call */ - wmOperator *opm; - for (opm = op->opm->type->macro.first; opm; opm = opm->next) { - if (opm->type->exec == NULL) { + wmOperatorTypeMacro *otmacro; + for (otmacro = op->opm->type->macro.first; otmacro; otmacro = otmacro->next) { + wmOperatorType *otm = WM_operatortype_find(otmacro->idname, 0); + if (otm && otm->exec == NULL) { return false; } } |