aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/cge/bitmap.cpp3
-rw-r--r--engines/cge/vmenu.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/engines/cge/bitmap.cpp b/engines/cge/bitmap.cpp
index 309b89bdda..4f85957b3d 100644
--- a/engines/cge/bitmap.cpp
+++ b/engines/cge/bitmap.cpp
@@ -123,12 +123,15 @@ Bitmap::~Bitmap() {
Bitmap &Bitmap::operator=(const Bitmap &bmp) {
debugC(1, kCGEDebugBitmap, "&Bitmap::operator =");
+ if (this == &bmp)
+ return *this;
uint8 *v0 = bmp._v;
_w = bmp._w;
_h = bmp._h;
_m = NULL;
_map = 0;
+ _vm = bmp._vm;
delete[] _v;
if (v0 == NULL) {
diff --git a/engines/cge/vmenu.cpp b/engines/cge/vmenu.cpp
index 84b557f4a6..910e54d267 100644
--- a/engines/cge/vmenu.cpp
+++ b/engines/cge/vmenu.cpp
@@ -63,7 +63,7 @@ Vmenu *Vmenu::_addr = NULL;
int Vmenu::_recent = -1;
Vmenu::Vmenu(CGEEngine *vm, Choice *list, int x, int y)
- : Talk(vm, VMGather(list), kTBRect), _menu(list), _bar(NULL), _vm(vm) {
+ : Talk(vm, VMGather(list), kTBRect), _menu(list), _bar(NULL), _vmgt(NULL), _vm(vm) {
Choice *cp;
_addr = this;