[Fix] Segfault when having active missions.

This commit is contained in:
Allanis 2013-11-25 15:51:24 +00:00
parent 05b1d19e55
commit 6c4983120d

View File

@ -88,6 +88,7 @@ MissionData* mission_get(int id) {
/* Initialize a mission. */ /* Initialize a mission. */
static int mission_init(Mission* mission, MissionData* misn, int load) { static int mission_init(Mission* mission, MissionData* misn, int load) {
int i;
char* buf; char* buf;
uint32_t bufsize; uint32_t bufsize;
@ -99,6 +100,12 @@ static int mission_init(Mission* mission, MissionData* misn, int load) {
else else
mission->id = mission_genID(); mission->id = mission_genID();
/* Init the timers. */
for(i = 0; i < MISSION_TIMER_MAX; i++) {
mission->timer[i] = 0.;
mission->tfunc[i] = NULL;
}
mission->data = misn; mission->data = misn;
/* Init lua. */ /* Init lua. */
@ -309,7 +316,7 @@ void missions_update(const double dt) {
for(i = 0; i < MISSION_MAX; i++) { for(i = 0; i < MISSION_MAX; i++) {
/* Mission must be active. */ /* Mission must be active. */
if(player_missions[i].id != 0) { if(player_missions[i].id != 0) {
for(j = 0; j < MISSION_TIMER_MAX; i++) { for(j = 0; j < MISSION_TIMER_MAX; j++) {
/* Timer must be active. */ /* Timer must be active. */
if(player_missions[i].timer[j] != 0.) { if(player_missions[i].timer[j] != 0.) {
player_missions[i].timer[j] -= dt; player_missions[i].timer[j] -= dt;