aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2014-06-03 20:18:48 +0200
committerStrangerke2014-06-03 20:18:48 +0200
commit11ebdcb5e0f25a6030a3ee3419d823aef6622980 (patch)
treecedf1149ae9aad3fce712d260feae9b7d8dfa20c /engines
parentde8affdec579542767cfd827f2dd19a035319d65 (diff)
downloadscummvm-rg350-11ebdcb5e0f25a6030a3ee3419d823aef6622980.tar.gz
scummvm-rg350-11ebdcb5e0f25a6030a3ee3419d823aef6622980.tar.bz2
scummvm-rg350-11ebdcb5e0f25a6030a3ee3419d823aef6622980.zip
CGE2: nullify some pointers
Diffstat (limited to 'engines')
-rw-r--r--engines/cge2/bitmap.cpp5
-rw-r--r--engines/cge2/cge2_main.cpp2
-rw-r--r--engines/cge2/hero.cpp1
-rw-r--r--engines/cge2/snail.cpp1
-rw-r--r--engines/cge2/sound.cpp4
-rw-r--r--engines/cge2/spare.cpp1
-rw-r--r--engines/cge2/text.cpp2
-rw-r--r--engines/cge2/vga13h.cpp26
8 files changed, 30 insertions, 12 deletions
diff --git a/engines/cge2/bitmap.cpp b/engines/cge2/bitmap.cpp
index dfc5bcadd2..39883601a1 100644
--- a/engines/cge2/bitmap.cpp
+++ b/engines/cge2/bitmap.cpp
@@ -124,6 +124,8 @@ Bitmap::~Bitmap() {
void Bitmap::release() {
free(_m);
delete[] _v;
+ _m = nullptr;
+ _v = nullptr;
}
Bitmap &Bitmap::operator=(const Bitmap &bmp) {
@@ -137,6 +139,7 @@ Bitmap &Bitmap::operator=(const Bitmap &bmp) {
_map = 0;
_vm = bmp._vm;
delete[] _v;
+ _v = nullptr;
if (v0 == NULL) {
_v = NULL;
@@ -169,7 +172,7 @@ BitmapPtr Bitmap::code() {
if (_v) { // old X-map exists, so remove it
delete[] _v;
- _v = NULL;
+ _v = nullptr;
}
while (true) { // at most 2 times: for (V == NULL) & for allocated block;
diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp
index 4fb0b2981e..696b840eb8 100644
--- a/engines/cge2/cge2_main.cpp
+++ b/engines/cge2/cge2_main.cpp
@@ -579,6 +579,7 @@ void CGE2Engine::loadGame() {
h = new Hero(this);
*(Sprite*)h = *s;
delete s;
+ s = nullptr;
h->expand();
_spare->update(h);
}
@@ -593,6 +594,7 @@ void CGE2Engine::loadGame() {
h = new Hero(this);
*(Sprite*)h = *s;
delete s;
+ s = nullptr;
h->expand();
_spare->update(h);
}
diff --git a/engines/cge2/hero.cpp b/engines/cge2/hero.cpp
index a6c1849d60..030020ebb9 100644
--- a/engines/cge2/hero.cpp
+++ b/engines/cge2/hero.cpp
@@ -194,6 +194,7 @@ Sprite *Hero::expand() { // It's very similar to Sprite's expand, but doesn't bo
bmp[i] = &_dim[0][i];
setShapeList(bmp, shpcnt);
delete[] bmp;
+ bmp = nullptr;
}
}
_reachStart = atoi(_vm->token(text));
diff --git a/engines/cge2/snail.cpp b/engines/cge2/snail.cpp
index e355c44348..8de2e130c8 100644
--- a/engines/cge2/snail.cpp
+++ b/engines/cge2/snail.cpp
@@ -527,6 +527,7 @@ void CGE2Engine::snGhost(Bitmap *bmp) {
bmp->_v = nullptr;
bmp->_b = nullptr;
delete bmp;
+ bmp = nullptr;
}
void CGE2Engine::hide1(Sprite *spr) {
diff --git a/engines/cge2/sound.cpp b/engines/cge2/sound.cpp
index 9f5ec2bb6c..b497ebf27b 100644
--- a/engines/cge2/sound.cpp
+++ b/engines/cge2/sound.cpp
@@ -121,7 +121,7 @@ Fx::~Fx() {
void Fx::clear() {
if (_current)
delete _current;
- _current = NULL;
+ _current = nullptr;
}
Common::String Fx::name(int ref, int sub) {
@@ -186,7 +186,7 @@ void MusicPlayer::killMidi() {
Audio::MidiPlayer::stop();
free(_data);
- _data = NULL;
+ _data = nullptr;
}
void MusicPlayer::loadMidi(int ref) {
diff --git a/engines/cge2/spare.cpp b/engines/cge2/spare.cpp
index 043122199c..445247177d 100644
--- a/engines/cge2/spare.cpp
+++ b/engines/cge2/spare.cpp
@@ -90,6 +90,7 @@ void Spare::dispose(Sprite *spr) {
if (spr == _container[i]) {
_container.remove_at(i);
delete spr;
+ spr = nullptr;
break;
}
}
diff --git a/engines/cge2/text.cpp b/engines/cge2/text.cpp
index 2f8e9b4011..554d6ba88c 100644
--- a/engines/cge2/text.cpp
+++ b/engines/cge2/text.cpp
@@ -85,7 +85,7 @@ void Text::clear() {
if (p->_ref) {
p->_ref = 0;
delete[] p->_text;
- p->_text = NULL;
+ p->_text = nullptr;
}
}
}
diff --git a/engines/cge2/vga13h.cpp b/engines/cge2/vga13h.cpp
index bc2e07c0eb..ded90aeaef 100644
--- a/engines/cge2/vga13h.cpp
+++ b/engines/cge2/vga13h.cpp
@@ -170,7 +170,7 @@ void Sprite::setName(char *newName) {
if (_ext->_name) {
delete[] _ext->_name;
- _ext->_name = NULL;
+ _ext->_name = nullptr;
}
if (newName) {
_ext->_name = new char[strlen(newName) + 1];
@@ -394,25 +394,33 @@ Sprite *Sprite::contract() {
if (notify)
notify();
- if (e->_name)
+ if (e->_name) {
delete[] e->_name;
+ e->_name = nullptr;
+ }
if (e->_shpList) {
for (int i = 0; i < _shpCnt; i++)
e->_shpList[i]->release();
delete[] e->_shpList;
+ e->_shpList = nullptr;
}
if (e->_seq) {
if (e->_seq == _stdSeq8)
_seqCnt = 0;
- else
+ else {
delete[] e->_seq;
+ e->_seq = nullptr;
+ }
}
- for (int i = 0; i < kActions; i++)
- if (e->_actions[i])
+ for (int i = 0; i < kActions; i++) {
+ if (e->_actions[i]) {
delete[] e->_actions[i];
+ e->_actions[i];
+ }
+ }
_ext = nullptr;
@@ -479,9 +487,9 @@ void Sprite::killXlat() {
uint8 *m = (*_ext->_shpList)->_m;
free(m);
-
+
for (BitmapPtr *b = _ext->_shpList; *b; b++)
- (*b)->_m = NULL;
+ (*b)->_m = nullptr;
_flags._xlat = false;
}
@@ -677,8 +685,10 @@ Queue::~Queue() {
void Queue::clear() {
while (_head) {
Sprite *s = remove(_head);
- if (s->_flags._kill)
+ if (s->_flags._kill) {
delete s;
+ s = nullptr;
+ }
}
}