values that had units set would not be coerced into Mathutils types by the python api.

eg. scene.cursor_location wasnt a vector
This commit is contained in:
Campbell Barton 2009-12-10 09:38:58 +00:00
parent 24be31bda0
commit 7fcb5d33ff
2 changed files with 4 additions and 3 deletions

@ -84,8 +84,9 @@ typedef enum PropertyUnit {
PROP_UNIT_ACCELERATION = (8<<16) /* m/(s^2) */
} PropertyUnit;
#define RNA_SUBTYPE_UNIT(subtype) (subtype & 0x00FF0000)
#define RNA_SUBTYPE_UNIT_VALUE(subtype) (subtype>>16)
#define RNA_SUBTYPE_UNIT(subtype) ((subtype) & 0x00FF0000)
#define RNA_SUBTYPE_VALUE(subtype) ((subtype) & ~0x00FF0000)
#define RNA_SUBTYPE_UNIT_VALUE(subtype) ((subtype)>>16)
#define RNA_ENUM_BITFLAG_SIZE 32

@ -158,7 +158,7 @@ PyObject *pyrna_math_object_from_array(PointerRNA *ptr, PropertyRNA *prop)
if (totdim == 1 || (totdim == 2 && subtype == PROP_MATRIX)) {
ret = pyrna_prop_CreatePyObject(ptr, prop); /* owned by the Mathutils PyObject */
switch(RNA_property_subtype(prop)) {
switch(RNA_SUBTYPE_VALUE(RNA_property_subtype(prop))) {
case PROP_TRANSLATION:
case PROP_DIRECTION:
case PROP_VELOCITY: