v2.1.3: added a sync check for very rare level loading hangs

This commit is contained in:
Evan Debenham
2023-06-22 14:54:45 -04:00
parent 1ec5434c11
commit beee1fadac
@@ -286,9 +286,11 @@ public class InterlevelScene extends PixelScene {
} }
if (phase == Phase.STATIC && error == null) { synchronized (thread) {
phase = Phase.FADE_OUT; if (phase == Phase.STATIC && error == null) {
timeLeft = fadeTime; phase = Phase.FADE_OUT;
timeLeft = fadeTime;
}
} }
} }
}; };
@@ -310,11 +312,13 @@ public class InterlevelScene extends PixelScene {
case FADE_IN: case FADE_IN:
message.alpha( 1 - p ); message.alpha( 1 - p );
if ((timeLeft -= Game.elapsed) <= 0) { if ((timeLeft -= Game.elapsed) <= 0) {
if (!thread.isAlive() && error == null) { synchronized (thread) {
phase = Phase.FADE_OUT; if (!thread.isAlive() && error == null) {
timeLeft = fadeTime; phase = Phase.FADE_OUT;
} else { timeLeft = fadeTime;
phase = Phase.STATIC; } else {
phase = Phase.STATIC;
}
} }
} }
break; break;