diff options
Diffstat (limited to 'muse2/muse/evdata.h')
-rw-r--r-- | muse2/muse/evdata.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/muse2/muse/evdata.h b/muse2/muse/evdata.h index 4700e20a..333a5e2d 100644 --- a/muse2/muse/evdata.h +++ b/muse2/muse/evdata.h @@ -58,8 +58,9 @@ class EvData { return *this; if (--(*refCount) == 0) { delete refCount; - delete[] data; - } + if(data) + delete[] data; + } data = ed.data; dataLen = ed.dataLen; refCount = ed.refCount; @@ -69,9 +70,17 @@ class EvData { ~EvData() { if (--(*refCount) == 0) { - delete[] data; - delete refCount; - } + if(data) + { + delete[] data; + data = 0; + } + if(refCount) + { + delete refCount; + refCount = 0; + } + } } void setData(const unsigned char* p, int l) { if(data) |