forked from bartvdbraak/blender
2.5 - Compiling 'hacks' for py
* Unicode calls in bpy_idprop.c were causing linking errors here. Probably Py-libs for windows would need recompiling with unicode before we can enable this. For now, commented out the offending calls.
This commit is contained in:
parent
3eaca525f2
commit
170b748c81
@ -49,6 +49,7 @@ struct bConstraintOb; /* DNA_constraint_types.h */
|
|||||||
struct bConstraintTarget; /* DNA_constraint_types.h*/
|
struct bConstraintTarget; /* DNA_constraint_types.h*/
|
||||||
struct Script; /* DNA_screen_types.h */
|
struct Script; /* DNA_screen_types.h */
|
||||||
struct BPyMenu;
|
struct BPyMenu;
|
||||||
|
struct bContext;
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -60,8 +60,8 @@ static char *BPy_IDProperty_Map_ValidateAndCreate(char *name, IDProperty *group,
|
|||||||
} else if (PyLong_Check(ob)) {
|
} else if (PyLong_Check(ob)) {
|
||||||
val.i = (int) PyLong_AsLong(ob);
|
val.i = (int) PyLong_AsLong(ob);
|
||||||
prop = IDP_New(IDP_INT, val, name);
|
prop = IDP_New(IDP_INT, val, name);
|
||||||
} else if (PyUnicode_Check(ob)) {
|
} else if (/*PyUnicode_Check(ob)*/0) {
|
||||||
val.str = _PyUnicode_AsString(ob);
|
//val.str = _PyUnicode_AsString(ob);
|
||||||
prop = IDP_New(IDP_STRING, val, name);
|
prop = IDP_New(IDP_STRING, val, name);
|
||||||
} else if (PySequence_Check(ob)) {
|
} else if (PySequence_Check(ob)) {
|
||||||
PyObject *item;
|
PyObject *item;
|
||||||
@ -105,7 +105,7 @@ static char *BPy_IDProperty_Map_ValidateAndCreate(char *name, IDProperty *group,
|
|||||||
for (i=0; i<len; i++) {
|
for (i=0; i<len; i++) {
|
||||||
key = PySequence_GetItem(keys, i);
|
key = PySequence_GetItem(keys, i);
|
||||||
pval = PySequence_GetItem(vals, i);
|
pval = PySequence_GetItem(vals, i);
|
||||||
if (!PyUnicode_Check(key)) {
|
if (/*!PyUnicode_Check(key)*/1) {
|
||||||
IDP_FreeProperty(prop);
|
IDP_FreeProperty(prop);
|
||||||
MEM_freeN(prop);
|
MEM_freeN(prop);
|
||||||
Py_XDECREF(keys);
|
Py_XDECREF(keys);
|
||||||
@ -114,7 +114,7 @@ static char *BPy_IDProperty_Map_ValidateAndCreate(char *name, IDProperty *group,
|
|||||||
Py_XDECREF(pval);
|
Py_XDECREF(pval);
|
||||||
return "invalid element in subgroup dict template!";
|
return "invalid element in subgroup dict template!";
|
||||||
}
|
}
|
||||||
if (BPy_IDProperty_Map_ValidateAndCreate(_PyUnicode_AsString(key), prop, pval)) {
|
if (/*BPy_IDProperty_Map_ValidateAndCreate(PyUnicode_AsString(key), prop, pval)*/0) {
|
||||||
IDP_FreeProperty(prop);
|
IDP_FreeProperty(prop);
|
||||||
MEM_freeN(prop);
|
MEM_freeN(prop);
|
||||||
Py_XDECREF(keys);
|
Py_XDECREF(keys);
|
||||||
@ -143,12 +143,12 @@ static int BPy_IDGroup_Map_SetItem(IDProperty *prop, PyObject *key, PyObject *va
|
|||||||
return EXPP_ReturnIntError( PyExc_TypeError,
|
return EXPP_ReturnIntError( PyExc_TypeError,
|
||||||
"unsubscriptable object");
|
"unsubscriptable object");
|
||||||
|
|
||||||
if (!PyUnicode_Check(key))
|
if (/*!PyUnicode_Check(key)*/1)
|
||||||
return EXPP_ReturnIntError( PyExc_TypeError,
|
return EXPP_ReturnIntError( PyExc_TypeError,
|
||||||
"only strings are allowed as subgroup keys" );
|
"only strings are allowed as subgroup keys" );
|
||||||
|
|
||||||
if (val == NULL) {
|
if (val == NULL) {
|
||||||
IDProperty *pkey = IDP_GetPropertyFromGroup(prop, _PyUnicode_AsString(key));
|
IDProperty *pkey = 0;//IDP_GetPropertyFromGroup(prop, PyUnicode_AsString(key));
|
||||||
if (pkey) {
|
if (pkey) {
|
||||||
IDP_RemFromGroup(prop, pkey);
|
IDP_RemFromGroup(prop, pkey);
|
||||||
IDP_FreeProperty(pkey);
|
IDP_FreeProperty(pkey);
|
||||||
@ -157,7 +157,7 @@ static int BPy_IDGroup_Map_SetItem(IDProperty *prop, PyObject *key, PyObject *va
|
|||||||
} else return EXPP_ReturnIntError( PyExc_RuntimeError, "property not found in group" );
|
} else return EXPP_ReturnIntError( PyExc_RuntimeError, "property not found in group" );
|
||||||
}
|
}
|
||||||
|
|
||||||
err = BPy_IDProperty_Map_ValidateAndCreate(_PyUnicode_AsString(key), prop, val);
|
//err = BPy_IDProperty_Map_ValidateAndCreate(_PyUnicode_AsString(key), prop, val);
|
||||||
if (err) return EXPP_ReturnIntError( PyExc_RuntimeError, err );
|
if (err) return EXPP_ReturnIntError( PyExc_RuntimeError, err );
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user