fix nullptr when revalidating UI for the first time, because stuff only init in the splash screen, by moving said init call to the first subscriber of the resolution/skin changed event (displaycontainer). Basically it needs to be called before the UI gets revalidated.
This commit is contained in:
parent
a7813e1ffe
commit
284cebb063
|
@ -92,9 +92,6 @@ public class Splash extends BaseOpsuState {
|
||||||
// check if watch service newly enabled
|
// check if watch service newly enabled
|
||||||
this.watchServiceChange = Options.isWatchServiceEnabled() && BeatmapWatchService.get() == null;
|
this.watchServiceChange = Options.isWatchServiceEnabled() && BeatmapWatchService.get() == null;
|
||||||
|
|
||||||
// load Utils class first (needed in other 'init' methods)
|
|
||||||
Utils.init(displayContainer);
|
|
||||||
|
|
||||||
// fade in logo
|
// fade in logo
|
||||||
this.logoAlpha = new AnimatedValue(MIN_SPLASH_TIME, 0f, 1f, AnimationEquation.LINEAR);
|
this.logoAlpha = new AnimatedValue(MIN_SPLASH_TIME, 0f, 1f, AnimationEquation.LINEAR);
|
||||||
GameImage.MENU_LOGO.getImage().setAlpha(0f);
|
GameImage.MENU_LOGO.getImage().setAlpha(0f);
|
||||||
|
|
|
@ -20,6 +20,7 @@ package yugecin.opsudance.core;
|
||||||
import itdelatrisu.opsu.GameData;
|
import itdelatrisu.opsu.GameData;
|
||||||
import itdelatrisu.opsu.GameImage;
|
import itdelatrisu.opsu.GameImage;
|
||||||
import itdelatrisu.opsu.Options;
|
import itdelatrisu.opsu.Options;
|
||||||
|
import itdelatrisu.opsu.Utils;
|
||||||
import itdelatrisu.opsu.audio.MusicController;
|
import itdelatrisu.opsu.audio.MusicController;
|
||||||
import itdelatrisu.opsu.beatmap.Beatmap;
|
import itdelatrisu.opsu.beatmap.Beatmap;
|
||||||
import itdelatrisu.opsu.downloads.DownloadList;
|
import itdelatrisu.opsu.downloads.DownloadList;
|
||||||
|
@ -146,6 +147,7 @@ public class DisplayContainer implements ErrorDumpable, KeyListener, MouseListen
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(ResolutionOrSkinChangedEvent event) {
|
public void onEvent(ResolutionOrSkinChangedEvent event) {
|
||||||
destroyImages();
|
destroyImages();
|
||||||
|
Utils.init(DisplayContainer.this); // TODO this shouldn't be here
|
||||||
UI.revalidate(); // TODO this shouldn't be here
|
UI.revalidate(); // TODO this shouldn't be here
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue
Block a user