Improve resilience for Quest Loading

This commit is contained in:
tehdiplomat
2018-08-03 21:19:14 -04:00
parent c05464585e
commit ab77d97e59
4 changed files with 54 additions and 35 deletions

View File

@@ -1,6 +1,7 @@
package forge.screens.quest;
import java.io.File;
import java.io.IOException;
import forge.FThreads;
import forge.Forge;
@@ -190,7 +191,14 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
@Override
@SuppressWarnings("unchecked")
public void run() {
FModel.getQuest().load(QuestDataIO.loadData(data));
try {
FModel.getQuest().load(QuestDataIO.loadData(data));
} catch (IOException e) {
System.err.println(String.format("Failed to load quest '%s'", questname));
// Failed to load last quest, don't continue with quest loading stuff
return;
}
((DeckController<Deck>)EditorType.Quest.getController()).setRootFolder(FModel.getQuest().getMyDecks());
((DeckController<DeckGroup>)EditorType.QuestDraft.getController()).setRootFolder(FModel.getQuest().getDraftDecks());
if (reason == LaunchReason.StartQuestMode) {