removed ED_ prefix from script operator.
python operator api was crashing when unknown operators were called.
This commit is contained in:
@@ -73,12 +73,12 @@ static int run_pyfile_exec(bContext *C, wmOperator *op)
|
|||||||
return OPERATOR_FINISHED;
|
return OPERATOR_FINISHED;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ED_SCRIPT_OT_run_pyfile(wmOperatorType *ot)
|
void SCRIPT_OT_run_pyfile(wmOperatorType *ot)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* identifiers */
|
/* identifiers */
|
||||||
ot->name= "Run python file";
|
ot->name= "Run python file";
|
||||||
ot->idname= "ED_SCRIPT_OT_run_pyfile";
|
ot->idname= "SCRIPT_OT_run_pyfile";
|
||||||
|
|
||||||
/* api callbacks */
|
/* api callbacks */
|
||||||
ot->exec= run_pyfile_exec;
|
ot->exec= run_pyfile_exec;
|
||||||
|
@@ -39,7 +39,7 @@ void script_operatortypes(void);
|
|||||||
void script_keymap(struct wmWindowManager *wm);
|
void script_keymap(struct wmWindowManager *wm);
|
||||||
|
|
||||||
/* script_edit.c */
|
/* script_edit.c */
|
||||||
void ED_SCRIPT_OT_run_pyfile(struct wmOperatorType *ot);
|
void SCRIPT_OT_run_pyfile(struct wmOperatorType *ot);
|
||||||
|
|
||||||
#endif /* ED_SCRIPT_INTERN_H */
|
#endif /* ED_SCRIPT_INTERN_H */
|
||||||
|
|
||||||
|
@@ -59,7 +59,7 @@
|
|||||||
|
|
||||||
void script_operatortypes(void)
|
void script_operatortypes(void)
|
||||||
{
|
{
|
||||||
WM_operatortype_append(ED_SCRIPT_OT_run_pyfile);
|
WM_operatortype_append(SCRIPT_OT_run_pyfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
void script_keymap(wmWindowManager *wm)
|
void script_keymap(wmWindowManager *wm)
|
||||||
@@ -67,6 +67,6 @@ void script_keymap(wmWindowManager *wm)
|
|||||||
ListBase *keymap= WM_keymap_listbase(wm, "Script", SPACE_SCRIPT, 0);
|
ListBase *keymap= WM_keymap_listbase(wm, "Script", SPACE_SCRIPT, 0);
|
||||||
|
|
||||||
/* TODO - this is just while we have no way to load a text datablock */
|
/* TODO - this is just while we have no way to load a text datablock */
|
||||||
RNA_string_set(WM_keymap_add_item(keymap, "ED_SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");
|
RNA_string_set(WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -114,7 +114,7 @@ void view3d_keymap(wmWindowManager *wm)
|
|||||||
WM_keymap_add_item(keymap, "VIEW3D_OT_circle_select", CKEY, KM_PRESS, 0, 0);
|
WM_keymap_add_item(keymap, "VIEW3D_OT_circle_select", CKEY, KM_PRESS, 0, 0);
|
||||||
|
|
||||||
/* TODO - this is just while we have no way to load a text datablock */
|
/* TODO - this is just while we have no way to load a text datablock */
|
||||||
RNA_string_set(WM_keymap_add_item(keymap, "ED_SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");
|
RNA_string_set(WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -77,10 +77,11 @@ static PyObject *pyop_base_getattro( BPy_OperatorBase * self, PyObject *pyname )
|
|||||||
ot = WM_operatortype_find(name);
|
ot = WM_operatortype_find(name);
|
||||||
|
|
||||||
if (ot) {
|
if (ot) {
|
||||||
return pyop_func_CreatePyObject(self->C, name);
|
ret= pyop_func_CreatePyObject(self->C, name);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
PyErr_Format( PyExc_AttributeError, "Operator \"%s\" not found", name);
|
PyErr_Format( PyExc_AttributeError, "Operator \"%s\" not found", name);
|
||||||
|
ret= NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,18 +102,17 @@ static PyObject * pyop_func_call(BPy_OperatorFunc * self, PyObject *args, PyObje
|
|||||||
PropertyRNA *prop, *iterprop;
|
PropertyRNA *prop, *iterprop;
|
||||||
CollectionPropertyIterator iter;
|
CollectionPropertyIterator iter;
|
||||||
|
|
||||||
|
|
||||||
if (ot == NULL) {
|
|
||||||
PyErr_SetString( PyExc_SystemError, "Operator could not be found");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PyTuple_Size(args)) {
|
if (PyTuple_Size(args)) {
|
||||||
PyErr_SetString( PyExc_AttributeError, "All operator args must be keywords");
|
PyErr_SetString( PyExc_AttributeError, "All operator args must be keywords");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ot= WM_operatortype_find(self->name);
|
ot= WM_operatortype_find(self->name);
|
||||||
|
if (ot == NULL) {
|
||||||
|
PyErr_SetString( PyExc_SystemError, "Operator could not be found");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
RNA_pointer_create(NULL, NULL, ot->srna, &properties, &ptr);
|
RNA_pointer_create(NULL, NULL, ot->srna, &properties, &ptr);
|
||||||
|
|
||||||
|
|
||||||
|
@@ -70,10 +70,8 @@ static char *pyrna_enum_as_string(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
RNA_property_enum_items(ptr, prop, &item, &totitem);
|
RNA_property_enum_items(ptr, prop, &item, &totitem);
|
||||||
|
|
||||||
for (i=0; i<totitem; i++) {
|
for (i=0; i<totitem; i++) {
|
||||||
if (i<totitem-1)
|
|
||||||
BLI_dynstr_appendf(dynstr, "'%s', ", item[i].identifier);
|
BLI_dynstr_appendf(dynstr, i?", '%s'":"'%s'", item[i].identifier);
|
||||||
else
|
|
||||||
BLI_dynstr_appendf(dynstr, "'%s'", item[i].identifier);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cstring = BLI_dynstr_get_cstring(dynstr);
|
cstring = BLI_dynstr_get_cstring(dynstr);
|
||||||
|
Reference in New Issue
Block a user