summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/ambientlayer.cpp3
-rw-r--r--src/resources/image.cpp3
-rw-r--r--src/resources/spritedef.cpp3
3 files changed, 9 insertions, 0 deletions
diff --git a/src/resources/ambientlayer.cpp b/src/resources/ambientlayer.cpp
index 92d9eb43e..a0f3803eb 100644
--- a/src/resources/ambientlayer.cpp
+++ b/src/resources/ambientlayer.cpp
@@ -74,7 +74,10 @@ AmbientLayer::AmbientLayer(Image *img, float parallax,
AmbientLayer::~AmbientLayer()
{
if (mImage)
+ {
mImage->decRef();
+ mImage = 0;
+ }
}
void AmbientLayer::update(int timePassed, float dx, float dy)
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index aa5c33488..4a89ae636 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -828,7 +828,10 @@ SubImage::~SubImage()
mGLImage = 0;
#endif
if (mParent)
+ {
mParent->decRef();
+ mParent = 0;
+ }
}
Image *SubImage::getSubImage(int x, int y, int w, int h)
diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp
index 37610f659..79e665f4c 100644
--- a/src/resources/spritedef.cpp
+++ b/src/resources/spritedef.cpp
@@ -359,7 +359,10 @@ SpriteDef::~SpriteDef()
i != mImageSets.end(); ++i)
{
if (i->second)
+ {
i->second->decRef();
+ i->second = 0;
+ }
}
}