Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/gameengine/VideoTexture/BlendType.h6
-rw-r--r--source/gameengine/VideoTexture/Texture.cpp3
2 files changed, 6 insertions, 3 deletions
diff --git a/source/gameengine/VideoTexture/BlendType.h b/source/gameengine/VideoTexture/BlendType.h
index ac3ed8812a6..8b243c43912 100644
--- a/source/gameengine/VideoTexture/BlendType.h
+++ b/source/gameengine/VideoTexture/BlendType.h
@@ -25,6 +25,7 @@ http://www.gnu.org/copyleft/lesser.txt.
/// class allows check type of blender python object and access its contained object
+/// MUST ONLY BE USED FOR KX classes that are descendent of PyObjectPlus
template <class PyObj> class BlendType
{
public:
@@ -48,8 +49,9 @@ public:
// if pointer to type is set and don't match to type of provided object, return NULL
else if (obj->ob_type != m_objType)
return NULL;
- // return pointer to object
- return (PyObj*)obj;
+ // return pointer to object, this class can only be used for KX object =>
+ // the Py object is actually a proxy
+ return (PyObj*)BGE_PROXY_REF(obj);
}
/// parse arguments to get object
diff --git a/source/gameengine/VideoTexture/Texture.cpp b/source/gameengine/VideoTexture/Texture.cpp
index 66c67023e38..fa941f9260e 100644
--- a/source/gameengine/VideoTexture/Texture.cpp
+++ b/source/gameengine/VideoTexture/Texture.cpp
@@ -163,7 +163,8 @@ void Texture_dealloc (Texture * self)
// release renderer
Py_XDECREF(self->m_source);
// close texture
- Texture_close(self);
+ PyObject* ret = Texture_close(self);
+ Py_DECREF(ret);
// release scaled image buffer
delete [] self->m_scaledImg;
// release object