aboutsummaryrefslogtreecommitdiff
path: root/engines/lab/image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lab/image.cpp')
-rw-r--r--engines/lab/image.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/lab/image.cpp b/engines/lab/image.cpp
index 08c4f6ca34..ec516718e8 100644
--- a/engines/lab/image.cpp
+++ b/engines/lab/image.cpp
@@ -48,10 +48,19 @@ Image::Image(Common::File *s, LabEngine *vm) : _vm(vm) {
_imageData = new byte[size];
s->read(_imageData, size);
+ _autoFree = true;
}
Image::~Image() {
- delete[] _imageData;
+ if (_autoFree)
+ delete[] _imageData;
+}
+
+void Image::setData(byte *d, bool autoFree) {
+ if (_autoFree)
+ delete[] _imageData;
+ _imageData = d;
+ _autoFree = autoFree;
}
void Image::blitBitmap(uint16 srcX, uint16 srcY, Image *imgDest,