forked from bartvdbraak/blender
- 'id_data' attribute for py rna api, so you can get the Mesh from a face, Armature from a bone, etc.
- fixed crash when adjusting added objects settngs from the toolbar.
This commit is contained in:
parent
e694e30721
commit
e024b46eb6
@ -364,6 +364,7 @@ class WM_OT_doc_edit(bpy.types.Operator):
|
|||||||
__label__ = "Edit Documentation"
|
__label__ = "Edit Documentation"
|
||||||
__props__ = [doc_id, doc_new]
|
__props__ = [doc_id, doc_new]
|
||||||
|
|
||||||
|
|
||||||
def _send_xmlrpc(self, data_dict):
|
def _send_xmlrpc(self, data_dict):
|
||||||
print("sending data:", data_dict)
|
print("sending data:", data_dict)
|
||||||
|
|
||||||
|
@ -123,10 +123,8 @@ void ED_object_base_init_from_view(bContext *C, Base *base)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (U.flag & USER_ADD_VIEWALIGNED) {
|
if (U.flag & USER_ADD_VIEWALIGNED) {
|
||||||
ARegion *ar= CTX_wm_region(C);
|
RegionView3D *rv3d = CTX_wm_region_view3d(C);
|
||||||
if(ar) {
|
if(rv3d) {
|
||||||
RegionView3D *rv3d= ar->regiondata;
|
|
||||||
|
|
||||||
rv3d->viewquat[0]= -rv3d->viewquat[0];
|
rv3d->viewquat[0]= -rv3d->viewquat[0];
|
||||||
QuatToEul(rv3d->viewquat, ob->rot);
|
QuatToEul(rv3d->viewquat, ob->rot);
|
||||||
rv3d->viewquat[0]= -rv3d->viewquat[0];
|
rv3d->viewquat[0]= -rv3d->viewquat[0];
|
||||||
|
@ -1178,7 +1178,6 @@ static PyObject *pyrna_struct_is_property_hidden(BPy_StructRNA * self, PyObject
|
|||||||
return PyBool_FromLong(hidden);
|
return PyBool_FromLong(hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static PyObject *pyrna_struct_dir(BPy_StructRNA * self)
|
static PyObject *pyrna_struct_dir(BPy_StructRNA * self)
|
||||||
{
|
{
|
||||||
PyObject *ret, *dict;
|
PyObject *ret, *dict;
|
||||||
@ -1263,6 +1262,13 @@ static PyObject *pyrna_struct_dir(BPy_StructRNA * self)
|
|||||||
BLI_freelistN(&lb);
|
BLI_freelistN(&lb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Hard coded names */
|
||||||
|
{
|
||||||
|
pystring = PyUnicode_FromString("id_data");
|
||||||
|
PyList_Append(ret, pystring);
|
||||||
|
Py_DECREF(pystring);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1319,6 +1325,16 @@ static PyObject *pyrna_struct_getattro( BPy_StructRNA * self, PyObject *pyname )
|
|||||||
|
|
||||||
BLI_freelistN(&newlb);
|
BLI_freelistN(&newlb);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(name, "id_data")==0) { /* XXX - hard coded */
|
||||||
|
if(self->ptr.id.data) {
|
||||||
|
PointerRNA id_ptr;
|
||||||
|
RNA_id_pointer_create((ID *)self->ptr.id.data, &id_ptr);
|
||||||
|
return pyrna_struct_CreatePyObject(&id_ptr);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
PyErr_Format( PyExc_AttributeError, "StructRNA - Attribute \"%.200s\" not found", name);
|
PyErr_Format( PyExc_AttributeError, "StructRNA - Attribute \"%.200s\" not found", name);
|
||||||
ret = NULL;
|
ret = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user