summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2010-12-02 18:41:14 +0100
committerGunnar Sletta <gunnar.sletta@nokia.com>2010-12-02 18:41:14 +0100
commitabe3729e04e1427f5e16177b476a6aae8eba3e8f (patch)
treece3358f280dcc92f44aff0f233dccf2cdf590078
parent63eecca60fcb7daa43014a49f92d146afaa6b89c (diff)
Delete textures that the texture reference owns
-rw-r--r--src/adaptationlayers/adaptationinterfaces.cpp7
-rw-r--r--src/adaptationlayers/adaptationinterfaces.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/adaptationlayers/adaptationinterfaces.cpp b/src/adaptationlayers/adaptationinterfaces.cpp
index 2632f70..e68624d 100644
--- a/src/adaptationlayers/adaptationinterfaces.cpp
+++ b/src/adaptationlayers/adaptationinterfaces.cpp
@@ -54,6 +54,13 @@ TextureReference::TextureReference()
{
}
+TextureReference::~TextureReference()
+{
+ if (m_owns_texture) {
+ glDeleteTextures(1, (GLuint *) &m_texture_id);
+ }
+}
+
void TextureReference::setStatus(Status s)
{
m_status = s;
diff --git a/src/adaptationlayers/adaptationinterfaces.h b/src/adaptationlayers/adaptationinterfaces.h
index 0e2eab1..9012210 100644
--- a/src/adaptationlayers/adaptationinterfaces.h
+++ b/src/adaptationlayers/adaptationinterfaces.h
@@ -138,6 +138,7 @@ public:
};
TextureReference();
+ ~TextureReference();
void setTextureId(int id) { m_texture_id = id; }
int textureId() const { return m_texture_id; }