bpy fix for crash/assert on running dir() on a non collection property + some other minor corrections.

This commit is contained in:
Campbell Barton 2011-07-30 13:18:04 +00:00
parent 681b26a48e
commit d163ce5595
3 changed files with 9 additions and 5 deletions

@ -4659,7 +4659,7 @@ static int createSlideVerts(TransInfo *t)
#define EDGE_SLIDE_MIN 30
if (len_squared_v2v2(start, end) < (EDGE_SLIDE_MIN * EDGE_SLIDE_MIN)) {
if(ABS(start[0]-end[0]) + ABS(start[1]-end[1]) < 4.0f) {
/* even more exceptional case, points are ontop of eachother */
/* even more exceptional case, points are ontop of each other */
end[0]= start[0];
end[1]= start[1] + EDGE_SLIDE_MIN;
}

@ -205,7 +205,7 @@ void RNA_api_operator(StructRNA *srna)
/* check */
func= RNA_def_function(srna, "check", NULL);
RNA_def_function_ui_description(func, "Check the operator settings.");
RNA_def_function_ui_description(func, "Check the operator settings, return True to signal a change to redraw.");
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
parm= RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);

@ -3262,11 +3262,15 @@ static PyObject *pyrna_prop_dir(BPy_PropertyRNA *self)
* */
ret= PyList_New(0);
if (!BPy_PropertyRNA_CheckExact(self))
if (!BPy_PropertyRNA_CheckExact(self)) {
pyrna_dir_members_py(ret, (PyObject *)self);
}
if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr))
pyrna_dir_members_rna(ret, &r_ptr);
if(RNA_property_type(self->prop) == PROP_COLLECTION) {
if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr)) {
pyrna_dir_members_rna(ret, &r_ptr);
}
}
return ret;
}