From 618e1cd9ec7e95abd80760f0a5e3725aee65fc59 Mon Sep 17 00:00:00 2001 From: Allanis Date: Sun, 9 Mar 2014 23:42:39 +0000 Subject: [PATCH] [Fix] Force missions to remove cargo properly. --- src/misn_lua.c | 1 + src/mission.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/misn_lua.c b/src/misn_lua.c index b54180e..e631c70 100644 --- a/src/misn_lua.c +++ b/src/misn_lua.c @@ -486,6 +486,7 @@ static int misn_finish(lua_State* L) { if(lua_isboolean(L, 1)) b = lua_toboolean(L, 1); else { lua_pushstring(L, "Mission Done"); + misn_delete = 1; lua_error(L); /* THERE IS NO RETURN! */ return 0; } diff --git a/src/mission.c b/src/mission.c index 40e4f24..e88a6f7 100644 --- a/src/mission.c +++ b/src/mission.c @@ -386,8 +386,10 @@ void mission_cleanup(Mission* misn) { misn->sys_marker = NULL; } if(misn->cargo != NULL) { - for(i = 0; i < misn->ncargo; i++) /* Must unlink all the cargo. */ + for(i = 0; i < misn->ncargo; i++) { /* Must unlink all the cargo. */ + pilot_rmMissionCargo(player, misn->cargo[i]); mission_unlinkCargo(misn, misn->cargo[i]); + } free(misn->cargo); misn->cargo = NULL; misn->ncargo = 0;