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:
authorBenoit Bolsee <benoit.bolsee@online.be>2009-05-23 18:46:43 +0400
committerBenoit Bolsee <benoit.bolsee@online.be>2009-05-23 18:46:43 +0400
commit5441323dca30c169d1ecb726d26e8cb4c5f4994d (patch)
tree1bcd7b2460f8980bacb03232498cdb7a02b9ba36 /source/gameengine/Rasterizer
parent6d8d7cd768f292a7fbbcecaf5f1cbc3090973f12 (diff)
BGE: fix memleaks.
SCA_RandomActuator: The random generator was shared between replicas and not deleted. Added ref counting between replicas to allow deletion at the end. KX_Camera: The scenegraph node was not deleted for temporary cameras (ImageMirror and shadow), causing 500 bytes leak per frame and per shadow light. KX_GameActuator: Global dictionary buffer was not deleted after saving. KX_MotionState: The motion state for compound child was not deleted KX_ReplaceMeshActuator: The mesh was unnecessarily converted for each actuator and not deleted, causing large memleak. After these fix, YoFrankie runs without memleak.
Diffstat (limited to 'source/gameengine/Rasterizer')
-rw-r--r--source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp14
-rw-r--r--source/gameengine/Rasterizer/RAS_IPolygonMaterial.h6
-rw-r--r--source/gameengine/Rasterizer/RAS_MeshObject.cpp10
-rw-r--r--source/gameengine/Rasterizer/RAS_MeshObject.h4
4 files changed, 17 insertions, 17 deletions
diff --git a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
index f2fd96d63e9..6af00d63c2d 100644
--- a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
+++ b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
@@ -59,7 +59,7 @@ void RAS_IPolyMaterial::Initialize(
m_transp = transp;
m_alpha = alpha;
m_zsort = zsort;
- m_lightlayer = lightlayer;
+ //m_lightlayer = lightlayer;
m_polymatid = m_newpolymatid++;
m_flag = 0;
m_multimode = 0;
@@ -80,7 +80,7 @@ RAS_IPolyMaterial::RAS_IPolyMaterial()
m_transp(0),
m_alpha(false),
m_zsort(false),
- m_lightlayer(0),
+ //m_lightlayer(0),
m_polymatid(0),
m_flag(0),
m_multimode(0)
@@ -112,7 +112,7 @@ RAS_IPolyMaterial::RAS_IPolyMaterial(const STR_String& texname,
m_transp(transp),
m_alpha(alpha),
m_zsort(zsort),
- m_lightlayer(lightlayer),
+ //m_lightlayer(lightlayer),
m_polymatid(m_newpolymatid++),
m_flag(0),
m_multimode(0)
@@ -172,10 +172,10 @@ bool RAS_IPolyMaterial::Less(const RAS_IPolyMaterial& rhs) const
return m_polymatid < rhs.m_polymatid;
}
-int RAS_IPolyMaterial::GetLightLayer() const
-{
- return m_lightlayer;
-}
+//int RAS_IPolyMaterial::GetLightLayer() const
+//{
+// return m_lightlayer;
+//}
bool RAS_IPolyMaterial::IsAlpha() const
{
diff --git a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
index decd93c3d13..e19db35ccb5 100644
--- a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
+++ b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
@@ -73,7 +73,7 @@ protected:
int m_transp;
bool m_alpha;
bool m_zsort;
- int m_lightlayer;
+ //int m_lightlayer;
int m_materialindex;
unsigned int m_polymatid;
@@ -147,7 +147,7 @@ public:
virtual bool Equals(const RAS_IPolyMaterial& lhs) const;
bool Less(const RAS_IPolyMaterial& rhs) const;
- int GetLightLayer() const;
+ //int GetLightLayer() const;
bool IsAlpha() const;
bool IsZSort() const;
unsigned int hash() const;
@@ -167,7 +167,7 @@ public:
/*
* PreCalculate texture gen
*/
- virtual void OnConstruction(){}
+ virtual void OnConstruction(int layer){}
};
inline bool operator ==( const RAS_IPolyMaterial & rhs,const RAS_IPolyMaterial & lhs)
diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.cpp b/source/gameengine/Rasterizer/RAS_MeshObject.cpp
index edd7615efd4..1cb394aaff3 100644
--- a/source/gameengine/Rasterizer/RAS_MeshObject.cpp
+++ b/source/gameengine/Rasterizer/RAS_MeshObject.cpp
@@ -91,7 +91,7 @@ struct RAS_MeshObject::fronttoback
STR_String RAS_MeshObject::s_emptyname = "";
RAS_MeshObject::RAS_MeshObject(Mesh* mesh, int lightlayer)
- : m_lightlayer(lightlayer),
+ : //m_lightlayer(lightlayer),
m_bModified(true),
m_bMeshModified(true),
m_mesh(mesh),
@@ -112,10 +112,10 @@ bool RAS_MeshObject::MeshModified()
return m_bMeshModified;
}
-unsigned int RAS_MeshObject::GetLightLayer()
-{
- return m_lightlayer;
-}
+//unsigned int RAS_MeshObject::GetLightLayer()
+//{
+// return m_lightlayer;
+//}
diff --git a/source/gameengine/Rasterizer/RAS_MeshObject.h b/source/gameengine/Rasterizer/RAS_MeshObject.h
index fbc3c549a7a..0a16c7fa0f6 100644
--- a/source/gameengine/Rasterizer/RAS_MeshObject.h
+++ b/source/gameengine/Rasterizer/RAS_MeshObject.h
@@ -54,7 +54,7 @@ class RAS_MeshObject
{
private:
unsigned int m_debugcolor;
- int m_lightlayer;
+ //int m_lightlayer;
bool m_bModified;
bool m_bMeshModified;
@@ -94,7 +94,7 @@ public:
list<RAS_MeshMaterial>::iterator GetFirstMaterial();
list<RAS_MeshMaterial>::iterator GetLastMaterial();
- unsigned int GetLightLayer();
+ //unsigned int GetLightLayer();
/* name */
void SetName(const char *name);