summaryrefslogtreecommitdiff
path: root/src/resources/image.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2006-09-29 23:59:08 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2006-09-29 23:59:08 +0000
commite8f94fe7ca5e7e7838eaa84f1792b4b42b4bada3 (patch)
treee8dc775e12f6b4eb0a6d56448f05286c774bbb8a /src/resources/image.cpp
parent0e8c09433f3a193b5a94a1ad572d8237113cdfbf (diff)
downloadmana-client-e8f94fe7ca5e7e7838eaa84f1792b4b42b4bada3.tar.gz
mana-client-e8f94fe7ca5e7e7838eaa84f1792b4b42b4bada3.tar.bz2
mana-client-e8f94fe7ca5e7e7838eaa84f1792b4b42b4bada3.tar.xz
mana-client-e8f94fe7ca5e7e7838eaa84f1792b4b42b4bada3.zip
Merged trunk changes from revision 2618 to 2716 into the 0.1.0 branch.
Diffstat (limited to 'src/resources/image.cpp')
-rw-r--r--src/resources/image.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index 51899d3f..eb3a2409 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -260,11 +260,18 @@ void Image::unload()
{
mLoaded = false;
- if (!mImage) return;
+ if (mImage) {
+ // Free the image surface.
+ SDL_FreeSurface(mImage);
+ mImage = NULL;
+ }
- // Free the image surface.
- SDL_FreeSurface(mImage);
- mImage = NULL;
+#ifdef USE_OPENGL
+ if (mGLImage) {
+ glDeleteTextures(1, &mGLImage);
+ mGLImage = 0;
+ }
+#endif
}
Image *Image::getSubImage(int x, int y, int width, int height)
@@ -341,7 +348,11 @@ SubImage::SubImage(Image *parent, GLuint image,
SubImage::~SubImage()
{
- mImage = 0; // Avoid destruction of the image
+ // Avoid destruction of the image
+ mImage = 0;
+#ifdef USE_OPENGL
+ mGLImage = 0;
+#endif
mParent->decRef();
}