forked from bartvdbraak/blender
BGE Python API
- action attribute wasnt checking for NULL (own fault) - KX_Scene getCamera wasnt checking for NULL - CListValue had asserts for not yet implimented functionality, this would close blender. Better to print an error if the user manages to run this functions (I managed to by CListValue.count([1,2,3]))
This commit is contained in:
parent
033a63f858
commit
3dacfbb231
@ -1055,7 +1055,7 @@ int BL_ActionActuator::py_setattro(PyObject *attr, PyObject* value) {
|
|||||||
PyObject* BL_ActionActuator::pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
PyObject* BL_ActionActuator::pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||||
{
|
{
|
||||||
BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
|
BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
|
||||||
return PyString_FromString(self->GetAction()->id.name+2);
|
return PyString_FromString(self->GetAction() ? self->GetAction()->id.name+2 : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
int BL_ActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
|
int BL_ActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
|
||||||
|
@ -886,7 +886,7 @@ PyObject* BL_ShapeActionActuator::PySetType(PyObject* self,
|
|||||||
PyObject* BL_ShapeActionActuator::pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
PyObject* BL_ShapeActionActuator::pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
|
||||||
{
|
{
|
||||||
BL_ShapeActionActuator* self= static_cast<BL_ShapeActionActuator*>(self_v);
|
BL_ShapeActionActuator* self= static_cast<BL_ShapeActionActuator*>(self_v);
|
||||||
return PyString_FromString(self->GetAction()->id.name+2);
|
return PyString_FromString(self->GetAction() ? self->GetAction()->id.name+2 : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
int BL_ShapeActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
|
int BL_ShapeActionActuator::pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
|
||||||
|
@ -430,6 +430,10 @@ bool CListValue::CheckEqual(CValue* first,CValue* second)
|
|||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
CValue* eqval = ((CValue*)first)->Calc(VALUE_EQL_OPERATOR,(CValue*)second);
|
CValue* eqval = ((CValue*)first)->Calc(VALUE_EQL_OPERATOR,(CValue*)second);
|
||||||
|
|
||||||
|
if (eqval==NULL)
|
||||||
|
return false;
|
||||||
|
|
||||||
STR_String txt = eqval->GetText();
|
STR_String txt = eqval->GetText();
|
||||||
eqval->Release();
|
eqval->Release();
|
||||||
if (txt=="TRUE")
|
if (txt=="TRUE")
|
||||||
@ -479,7 +483,7 @@ PyObject* CListValue::Pycount(PyObject* self, PyObject* value)
|
|||||||
|
|
||||||
if (checkobj==NULL) { /* in this case just return that there are no items in the list */
|
if (checkobj==NULL) { /* in this case just return that there are no items in the list */
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
PyInt_FromLong(0);
|
return PyInt_FromLong(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int numelem = GetCount();
|
int numelem = GetCount();
|
||||||
@ -503,7 +507,8 @@ PyObject* CListValue::Pycount(PyObject* self, PyObject* value)
|
|||||||
* --------------------------------------------------------------------- */
|
* --------------------------------------------------------------------- */
|
||||||
CValue* CListValue::Calc(VALUE_OPERATOR op,CValue *val)
|
CValue* CListValue::Calc(VALUE_OPERATOR op,CValue *val)
|
||||||
{
|
{
|
||||||
assert(false); // todo: implement me!
|
//assert(false); // todo: implement me!
|
||||||
|
fprintf(stderr, "CValueList::Calc not yet implimented\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -513,7 +518,8 @@ CValue* CListValue::CalcFinal(VALUE_DATA_TYPE dtype,
|
|||||||
VALUE_OPERATOR op,
|
VALUE_OPERATOR op,
|
||||||
CValue* val)
|
CValue* val)
|
||||||
{
|
{
|
||||||
assert(false); // todo: implement me!
|
//assert(false); // todo: implement me!
|
||||||
|
fprintf(stderr, "CValueList::CalcFinal not yet implimented\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -469,7 +469,7 @@ PyObject* KX_SceneActuator::PyGetCamera(PyObject* self,
|
|||||||
{
|
{
|
||||||
ShowDeprecationWarning("getCamera()", "the camera property");
|
ShowDeprecationWarning("getCamera()", "the camera property");
|
||||||
if (m_camera) {
|
if (m_camera) {
|
||||||
PyString_FromString(m_camera->GetName());
|
return PyString_FromString(m_camera->GetName());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
|
Loading…
Reference in New Issue
Block a user