mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Fix memory leak of c++ objects (#697)
We used C malloc/free which can't properly destruct C++ objects.
This commit is contained in:
parent
3ada70e2aa
commit
2f5e549475
@ -58,14 +58,14 @@ typedef struct _TrackEntryListeners {
|
|||||||
|
|
||||||
static _TrackEntryListeners* getListeners (spTrackEntry* entry) {
|
static _TrackEntryListeners* getListeners (spTrackEntry* entry) {
|
||||||
if (!entry->rendererObject) {
|
if (!entry->rendererObject) {
|
||||||
entry->rendererObject = NEW(spine::_TrackEntryListeners);
|
entry->rendererObject = new spine::_TrackEntryListeners();
|
||||||
entry->listener = trackEntryCallback;
|
entry->listener = trackEntryCallback;
|
||||||
}
|
}
|
||||||
return (_TrackEntryListeners*)entry->rendererObject;
|
return (_TrackEntryListeners*)entry->rendererObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
void disposeTrackEntry (spTrackEntry* entry) {
|
void disposeTrackEntry (spTrackEntry* entry) {
|
||||||
if (entry->rendererObject) FREE(entry->rendererObject);
|
if (entry->rendererObject) delete (spine::_TrackEntryListeners*)entry->rendererObject;
|
||||||
_spTrackEntry_dispose(entry);
|
_spTrackEntry_dispose(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user