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>2009-07-13 12:33:51 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-07-13 12:33:51 +0400
commit89830ea0c87765aea30bc2b69abe417ef941ea55 (patch)
tree2769de7ebaf585412210c8566c6d52a7fbc38fc8 /source/blender/windowmanager
parent26ef6da24b3324fb6f8ab6cfe12f101f0d7dedb4 (diff)
calling operators from python was raising an error without returning an error value.
brecht, switched the order back to fix this, added an argument for WM_operatortype_find() to fail without printing an error.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/WM_api.h2
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c4
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c11
3 files changed, 10 insertions, 7 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 7fe98488ec0..c72da8fe593 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -132,7 +132,7 @@ int WM_operator_redo_popup (struct bContext *C, struct wmOperator *op);
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_find(const char *idnamem, int quiet);
wmOperatorType *WM_operatortype_exists(const char *idname);
wmOperatorType *WM_operatortype_first(void);
void WM_operatortype_append (void (*opfunc)(wmOperatorType*));
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 491b70deedc..3ef6e545dda 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -393,7 +393,7 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P
/* invokes operator in context */
int WM_operator_name_call(bContext *C, const char *opstring, int context, PointerRNA *properties)
{
- wmOperatorType *ot= WM_operatortype_find(opstring);
+ wmOperatorType *ot= WM_operatortype_find(opstring, 0);
wmWindow *window= CTX_wm_window(C);
wmEvent *event;
@@ -723,7 +723,7 @@ static int wm_handler_operator_call(bContext *C, ListBase *handlers, wmEventHand
printf("wm_handler_operator_call error\n");
}
else {
- wmOperatorType *ot= WM_operatortype_find(event->keymap_idname);
+ wmOperatorType *ot= WM_operatortype_find(event->keymap_idname, 0);
if(ot)
retval= wm_operator_invoke(C, ot, event, properties);
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 330196a7a73..d7cac82ef90 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -82,7 +82,7 @@ static ListBase global_ops= {NULL, NULL};
/* ************ operator API, exported ********** */
-wmOperatorType *WM_operatortype_find(const char *idname)
+wmOperatorType *WM_operatortype_find(const char *idname, int quiet)
{
wmOperatorType *ot;
@@ -90,7 +90,10 @@ wmOperatorType *WM_operatortype_find(const char *idname)
if(strncmp(ot->idname, idname, OP_MAX_TYPENAME)==0)
return ot;
}
- printf("search for unknown operator %s\n", idname);
+
+ if(!quiet)
+ printf("search for unknown operator %s\n", idname);
+
return NULL;
}
@@ -137,7 +140,7 @@ void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *us
int WM_operatortype_remove(const char *idname)
{
- wmOperatorType *ot = WM_operatortype_find(idname);
+ wmOperatorType *ot = WM_operatortype_find(idname, 0);
if (ot==NULL)
return 0;
@@ -190,7 +193,7 @@ char *WM_operator_pystring(wmOperator *op)
void WM_operator_properties_create(PointerRNA *ptr, const char *opstring)
{
- wmOperatorType *ot= WM_operatortype_find(opstring);
+ wmOperatorType *ot= WM_operatortype_find(opstring, 0);
if(ot)
RNA_pointer_create(NULL, ot->srna, NULL, ptr);