[Fix] Let's not segfault if a mission is not found in the stack when saving. :/
This commit is contained in:
parent
a2a5ebe3bb
commit
1c7bd75537
@ -1584,6 +1584,7 @@ int player_missionAlreadyDone(int id) {
|
|||||||
/* Save the player in a freaking xmlfile. */
|
/* Save the player in a freaking xmlfile. */
|
||||||
int player_save(xmlTextWriterPtr writer) {
|
int player_save(xmlTextWriterPtr writer) {
|
||||||
int i;
|
int i;
|
||||||
|
MissionData* m;
|
||||||
|
|
||||||
xmlw_startElem(writer, "player");
|
xmlw_startElem(writer, "player");
|
||||||
xmlw_attr(writer, "name", player_name);
|
xmlw_attr(writer, "name", player_name);
|
||||||
@ -1601,10 +1602,14 @@ int player_save(xmlTextWriterPtr writer) {
|
|||||||
|
|
||||||
xmlw_endElem(writer); /* Player. */
|
xmlw_endElem(writer); /* Player. */
|
||||||
|
|
||||||
|
/* Mission the player has done. */
|
||||||
xmlw_startElem(writer, "missions_done");
|
xmlw_startElem(writer, "missions_done");
|
||||||
|
|
||||||
for(i = 0; i < missions_ndone; i++)
|
for(i = 0; i < missions_ndone; i++) {
|
||||||
xmlw_elem(writer, "done", mission_get(missions_done[i])->name);
|
m = mission_get(missions_done[i]);
|
||||||
|
if(m != NULL) /* In case mission name changes between versions. */
|
||||||
|
xmlw_elem(writer, "done", mission_get(missions_done[i])->name);
|
||||||
|
}
|
||||||
|
|
||||||
xmlw_endElem(writer); /* missions_done. */
|
xmlw_endElem(writer); /* missions_done. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user