aboutsummaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2020-04-26 23:37:29 +0300
committerRblSb <msrblsb@gmail.com>2020-04-26 23:37:29 +0300
commit9f93fb9783c4647a0e25b67078dded196d035ca9 (patch)
treea12ebef2b5ff5da710176654d9144c2acafaf706 /src/server
parente0f2520fb03ed07a38e96c012c0f599b2fbe7f04 (diff)
Fix posible double skip / npe
Diffstat (limited to 'src/server')
-rw-r--r--src/server/Main.hx10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/Main.hx b/src/server/Main.hx
index b9c4d52..0023c5f 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -426,9 +426,13 @@ class Main {
case GetTime:
if (videoList.length == 0) return;
- if (videoTimer.getTime() > videoList[itemPos].duration - 0.01) {
- videoTimer.stop();
+ final maxTime = videoList[itemPos].duration - 0.01;
+ if (videoTimer.getTime() > maxTime) {
+ videoTimer.pause();
+ videoTimer.setTime(maxTime);
+ final currentLength = videoList.length;
Timer.delay(() -> {
+ if (videoList.length != currentLength) return;
onMessage(client, {
type: SkipVideo, skipVideo: {
url: videoList[itemPos].url
@@ -445,7 +449,7 @@ class Main {
if (videoTimer.isPaused()) obj.getTime.paused = true;
if (videoTimer.getRate() != 1) {
if (!clients.hasLeader()) videoTimer.setRate(1);
- obj.getTime.rate = videoTimer.getRate();
+ else obj.getTime.rate = videoTimer.getRate();
}
send(client, obj);
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage