diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/VideoList.hx | 4 | ||||
| -rw-r--r-- | src/client/Player.hx | 2 | ||||
| -rw-r--r-- | src/server/Main.hx | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/VideoList.hx b/src/VideoList.hx index e2d88d5..0799cfa 100644 --- a/src/VideoList.hx +++ b/src/VideoList.hx @@ -39,10 +39,12 @@ abstract VideoList(Array<VideoItem>) from Array<VideoItem> to Array<VideoItem> { else this.insert(itemPos + 1, item); } - public function setNextItem(pos:Int, itemPos:Int):Void { + public function setNextItem(pos:Int, itemPos:Int):Int { final next = this[pos]; this.remove(next); + if (pos < itemPos) itemPos--; this.insert(itemPos + 1, next); + return itemPos; } public function toggleItemType(pos:Int):Void { diff --git a/src/client/Player.hx b/src/client/Player.hx index b0b52a7..ad10814 100644 --- a/src/client/Player.hx +++ b/src/client/Player.hx @@ -73,7 +73,7 @@ class Player { } public function setNextItem(pos:Int):Void { - items.setNextItem(pos, itemPos); + itemPos = items.setNextItem(pos, itemPos); final next = videoItemsEl.children[pos]; videoItemsEl.removeChild(next); diff --git a/src/server/Main.hx b/src/server/Main.hx index 6104446..b4fe68e 100644 --- a/src/server/Main.hx +++ b/src/server/Main.hx @@ -519,7 +519,7 @@ class Main { if (!checkPermission(client, ChangeOrderPerm)) return; final pos = data.setNextItem.pos; if (pos == itemPos || pos == itemPos + 1) return; - videoList.setNextItem(pos, itemPos); + itemPos = videoList.setNextItem(pos, itemPos); broadcast(data); case ToggleItemType: |
