From 49000e689a2516db20060d88871762f5a3bcac39 Mon Sep 17 00:00:00 2001 From: skotlex Date: Sat, 9 Sep 2006 14:11:02 +0000 Subject: - Fixed a npc-timer memory leak on npc_unload ("[Warning]: ers_obj_destroy: X entries missing, continuing destruction. Manager for entries of size 16.") git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8686 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/npc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/map/npc.c b/src/map/npc.c index 6971313c8..9c3b4f096 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1431,8 +1431,13 @@ int npc_unload (struct npc_data *nd) } if (nd->bl.subtype == SCRIPT) { ev_db->foreach(ev_db,npc_unload_ev,nd->exname); //Clean up all events related. - if (nd->u.scr.timerid != -1) + if (nd->u.scr.timerid != -1) { + struct TimerData *td = NULL; + td = get_timer(nd->u.scr.timerid); + if (td && td->data) + ers_free(timer_event_ers, (struct event_timer_data*)td->data); delete_timer(nd->u.scr.timerid, npc_timerevent); + } npc_cleareventtimer (nd); if (nd->u.scr.timer_event) aFree(nd->u.scr.timer_event); -- cgit v1.2.3-70-g09d2