Merge branch 'master' into 'master'

[Mobile] Crash Fix on Loading New Game

Closes #2046

See merge request core-developers/forge!6043
This commit is contained in:
Anthony Calosa
2022-01-14 05:59:23 +00:00
2 changed files with 11 additions and 8 deletions

View File

@@ -44,7 +44,7 @@ public class LoadGameMenu extends FPopupMenu {
private void initializeScreen() {
if (screen == null) { //don't initialize screen until it's opened the first time
try {
screen = screenClass.newInstance();
screen = screenClass.getConstructor().newInstance();
screen.setHeaderCaption(Localizer.getInstance().getMessage("lblLoadGame") + " - " + item.getText());
}
catch (Exception e) {
@@ -59,6 +59,7 @@ public class LoadGameMenu extends FPopupMenu {
}
private void open(boolean replaceBackScreen) {
initializeScreen();
if (screen != null)
Forge.openScreen(screen, replaceBackScreen);
}

View File

@@ -50,7 +50,7 @@ public class NewGameMenu extends FPopupMenu {
private void initializeScreen() {
if (screen == null) { //don't initialize screen until it's opened the first time
try {
screen = screenClass.newInstance();
screen = screenClass.getConstructor().newInstance();
screen.setHeaderCaption(localizer.getMessageorUseDefault("lblNewGame", "New Game") + " - " + item.getText());
}
catch (Exception e) {
@@ -65,6 +65,7 @@ public class NewGameMenu extends FPopupMenu {
}
private void open(boolean replaceBackScreen) {
initializeScreen();
if (screen != null)
Forge.openScreen(screen, replaceBackScreen);
}
@@ -83,12 +84,13 @@ public class NewGameMenu extends FPopupMenu {
preferredScreen = NewGameScreen.valueOf(prefs.getPref(FPref.NEW_GAME_SCREEN));
}
catch (Exception ex) {
ex.printStackTrace();
if (NewGameScreen.Constructed != null) { //if this is null it means newgamescreen is not initialized
preferredScreen = NewGameScreen.Constructed;
prefs.setPref(FPref.NEW_GAME_SCREEN, preferredScreen.name());
prefs.save();
}
}
}
public static NewGameScreen getPreferredScreen() {
return preferredScreen;