[Fix] Force missions to remove cargo properly.

This commit is contained in:
Allanis 2014-03-09 23:42:39 +00:00
parent b9da0e2588
commit 618e1cd9ec
2 changed files with 4 additions and 1 deletions

View File

@ -486,6 +486,7 @@ static int misn_finish(lua_State* L) {
if(lua_isboolean(L, 1)) b = lua_toboolean(L, 1); if(lua_isboolean(L, 1)) b = lua_toboolean(L, 1);
else { else {
lua_pushstring(L, "Mission Done"); lua_pushstring(L, "Mission Done");
misn_delete = 1;
lua_error(L); /* THERE IS NO RETURN! */ lua_error(L); /* THERE IS NO RETURN! */
return 0; return 0;
} }

View File

@ -386,8 +386,10 @@ void mission_cleanup(Mission* misn) {
misn->sys_marker = NULL; misn->sys_marker = NULL;
} }
if(misn->cargo != 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]); mission_unlinkCargo(misn, misn->cargo[i]);
}
free(misn->cargo); free(misn->cargo);
misn->cargo = NULL; misn->cargo = NULL;
misn->ncargo = 0; misn->ncargo = 0;