diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2014-08-09 19:19:13 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2014-08-09 19:19:13 +0400 |
commit | afce1057fdb3c51819b7126fd3593fe7a2c80b57 (patch) | |
tree | 3b128acb64d30304449b37b359e5483d5e16a9d5 /source/gameengine | |
parent | de04c921b056ca03129ae79838bebc151139ea84 (diff) |
BGE: Fix bug with Steering Actuator Python API.
It was not possible to set the navmesh attribute from Python due to a double bug.
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/Ketsji/KX_GameObject.cpp | 4 | ||||
-rw-r--r-- | source/gameengine/Ketsji/KX_SteeringActuator.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index 639cd98bb47..c681e0842c4 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -51,6 +51,7 @@ typedef unsigned long uint_ptr; #include "KX_Light.h" // only for their ::Type #include "KX_FontObject.h" // only for their ::Type #include "RAS_MeshObject.h" +#include "KX_NavMeshObject.h" #include "KX_MeshProxy.h" #include "KX_PolyProxy.h" #include <stdio.h> // printf @@ -3795,7 +3796,8 @@ bool ConvertPythonToGameObject(PyObject *value, KX_GameObject **object, bool py_ if ( PyObject_TypeCheck(value, &KX_GameObject::Type) || PyObject_TypeCheck(value, &KX_LightObject::Type) || PyObject_TypeCheck(value, &KX_Camera::Type) || - PyObject_TypeCheck(value, &KX_FontObject::Type)) + PyObject_TypeCheck(value, &KX_FontObject::Type) || + PyObject_TypeCheck(value, &KX_NavMeshObject::Type)) { *object = static_cast<KX_GameObject*>BGE_PROXY_REF(value); diff --git a/source/gameengine/Ketsji/KX_SteeringActuator.cpp b/source/gameengine/Ketsji/KX_SteeringActuator.cpp index 2fa72c04a20..ff192299702 100644 --- a/source/gameengine/Ketsji/KX_SteeringActuator.cpp +++ b/source/gameengine/Ketsji/KX_SteeringActuator.cpp @@ -602,7 +602,7 @@ int KX_SteeringActuator::pyattr_set_navmesh(void *self, const struct KX_PYATTRIB if (!ConvertPythonToGameObject(value, &gameobj, true, "actuator.object = value: KX_SteeringActuator")) return PY_SET_ATTR_FAIL; // ConvertPythonToGameObject sets the error - if (!PyObject_TypeCheck(value, &KX_NavMeshObject::Type)) + if (dynamic_cast<KX_NavMeshObject *>(gameobj) == NULL) { PyErr_Format(PyExc_TypeError, "KX_NavMeshObject is expected"); return PY_SET_ATTR_FAIL; |