aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sword25/gfx/image/renderedimage.cpp3
-rw-r--r--engines/sword25/gfx/image/renderedimage.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/engines/sword25/gfx/image/renderedimage.cpp b/engines/sword25/gfx/image/renderedimage.cpp
index 0225787fde..8d90d1fa8b 100644
--- a/engines/sword25/gfx/image/renderedimage.cpp
+++ b/engines/sword25/gfx/image/renderedimage.cpp
@@ -178,6 +178,9 @@ RenderedImage::RenderedImage() : _isTransparent(true) {
// -----------------------------------------------------------------------------
RenderedImage::~RenderedImage() {
+ if (_doCleanup) {
+ _surface.free();
+ }
}
// -----------------------------------------------------------------------------
diff --git a/engines/sword25/gfx/image/renderedimage.h b/engines/sword25/gfx/image/renderedimage.h
index 5b65a27355..e4d573f369 100644
--- a/engines/sword25/gfx/image/renderedimage.h
+++ b/engines/sword25/gfx/image/renderedimage.h
@@ -44,6 +44,9 @@
namespace Sword25 {
class RenderedImage : public Image {
+private:
+ RenderedImage(const RenderedImage &) : _doCleanup(false) {}
+ RenderedImage &operator=(const RenderedImage &) { return *this; }
public:
RenderedImage(const Common::String &filename, bool &result);