diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java index 0db7bf46b221c8338bd3f757b3b80683e8e5d5b3..6abd741ffd33f91d9d96d0f1cc50c43fe4d5b99c 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/option/pad/PlaylistTabViewController.java @@ -148,7 +148,6 @@ public class PlaylistTabViewController extends PadSettingsTabViewController { @FXML public void onDeleteHandler(ActionEvent event) { MediaPath mediaPath = mediaPathListView.getSelectionModel().getSelectedItem(); - pad.getContent().unloadMedia(mediaPath); pad.removePath(mediaPath); if (pad.getPaths().isEmpty()) { diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala index 76c1b4c4243d1edc358a758da7b4a8ef6d945147..ffa851bea9849f020d1befb10af29fc5e37c9716 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/pad/ContentPlayerPadContent.scala @@ -252,10 +252,11 @@ class ContentPlayerPadContent(val pad: Pad, val `type`: String) extends PadConte override def unloadMedia(mediaPath: MediaPath): Unit = { val index = mediaPlayers.indexWhere(item => item.path.getId == mediaPath.getId) - val playerContainer = mediaPlayers(index) - playerContainer.stop() - - mediaPlayers.remove(index) + if (index >= 0) { + val playerContainer = mediaPlayers(index) + playerContainer.stop() + mediaPlayers.remove(index) + } } override def reorderMedia(): Unit = { diff --git a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/util/package.scala b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/util/package.scala index a9e50923823253d8a3030a2cd273f496b6fa677b..22836f6b9326accde9478b56a7e65861ff3e5fb3 100644 --- a/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/util/package.scala +++ b/PlayWallPlugins/PlayWallPluginContentPlayer/src/main/scala/de/tobias/playpad/plugin/content/util/package.scala @@ -3,6 +3,7 @@ package de.tobias.playpad.plugin.content import javafx.collections.ObservableList package object util { + implicit class ObservableListExtension[E >: Null](list: ObservableList[E]) { def head: E = { if (list.isEmpty) { @@ -19,7 +20,7 @@ package object util { def isNotEmpty: Boolean = !list.isEmpty def indexWhere(predicate: E => Boolean): Int = { - for (i <- 0 to list.size()) { + for (i <- 0 until list.size()) { if (predicate(list.get(i))) { return i }