aboutsummaryrefslogtreecommitdiff
path: root/engines/director/sprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/sprite.cpp')
-rw-r--r--engines/director/sprite.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp
index 019966762e..9d219d6076 100644
--- a/engines/director/sprite.cpp
+++ b/engines/director/sprite.cpp
@@ -53,7 +53,11 @@ Sprite::Sprite() {
_stretch = 0;
_type = kInactiveSprite;
- _cast = nullptr;
+ _bitmapCast = nullptr;
+ _textCast = nullptr;
+ _buttonCast = nullptr;
+ _shapeCast = nullptr;
+
_blend = 0;
_lineSize = 1;
@@ -90,7 +94,11 @@ Sprite::Sprite(const Sprite &sprite) {
_stretch = sprite._stretch;
_type = sprite._type;
- _cast = sprite._cast;
+ _bitmapCast = sprite._bitmapCast;
+ _shapeCast = sprite._shapeCast;
+ _textCast = sprite._textCast;
+ _buttonCast = sprite._buttonCast;
+
_constraint = sprite._constraint;
_moveable = sprite._moveable;
_blend = sprite._blend;
@@ -107,7 +115,14 @@ Sprite::Sprite(const Sprite &sprite) {
}
Sprite::~Sprite() {
- delete _cast;
+ if (_bitmapCast)
+ delete _bitmapCast;
+ if (_shapeCast)
+ delete _shapeCast;
+ if (_textCast)
+ delete _textCast;
+ if (_buttonCast)
+ delete _buttonCast;
}
} // End of namespace Director