diff options
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 1 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 50ba2aec867..ff3a2feb521 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -132,6 +132,7 @@ void WM_operator_free (struct wmOperator *op); void WM_operator_stack_clear(struct bContext *C); wmOperatorType *WM_operatortype_find(const char *idname); +wmOperatorType *WM_operatortype_exists(const char *idname); wmOperatorType *WM_operatortype_first(void); void WM_operatortype_append (void (*opfunc)(wmOperatorType*)); void WM_operatortype_append_ptr (void (*opfunc)(wmOperatorType*, void *), void *userdata); diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index d003f0786de..9cec463193e 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -94,6 +94,17 @@ wmOperatorType *WM_operatortype_find(const char *idname) return NULL; } +wmOperatorType *WM_operatortype_exists(const char *idname) +{ + wmOperatorType *ot; + + for(ot= global_ops.first; ot; ot= ot->next) { + if(strncmp(ot->idname, idname, OP_MAX_TYPENAME)==0) + return ot; + } + return NULL; +} + wmOperatorType *WM_operatortype_first(void) { return global_ops.first; |