aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/user_interface.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2015-04-09 13:44:39 +0300
committerFilippos Karapetis2015-04-09 13:44:39 +0300
commitec999f1cb74dff8c42c69898bb6cbc3823b169dd (patch)
treed0c3fd1f268f788700cf719785bd5ef6133fe1d4 /engines/mads/user_interface.cpp
parent47afe424c194d5d4fd1797948b53f999473fe922 (diff)
downloadscummvm-rg350-ec999f1cb74dff8c42c69898bb6cbc3823b169dd.tar.gz
scummvm-rg350-ec999f1cb74dff8c42c69898bb6cbc3823b169dd.tar.bz2
scummvm-rg350-ec999f1cb74dff8c42c69898bb6cbc3823b169dd.zip
MADS: Plug some memory leaks
Surfaces should be freed (to free their inner allocated surface buffers) before being deleted
Diffstat (limited to 'engines/mads/user_interface.cpp')
-rw-r--r--engines/mads/user_interface.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/engines/mads/user_interface.cpp b/engines/mads/user_interface.cpp
index 93a555d9c7..1e5a1d80d2 100644
--- a/engines/mads/user_interface.cpp
+++ b/engines/mads/user_interface.cpp
@@ -164,6 +164,7 @@ void UISlots::draw(bool updateFlag, bool delFlag) {
MSurface *spr = sprite->flipHorizontal();
userInterface.mergeFrom(spr, spr->getBounds(), slot._position,
sprite->getTransparencyIndex());
+ spr->free();
delete spr;
} else {
userInterface.mergeFrom(sprite, sprite->getBounds(), slot._position,