From 334b223af876074ad918468bbeef16b9dd0d8b00 Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Sun, 21 Nov 2021 17:52:28 +0100
Subject: [PATCH] #174 - Fix NullPointer on remote pad selection

---
 .../api/trigger/RemoteTriggerItemSettingsController.java | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/java/de/tobias/playpad/plugin/api/trigger/RemoteTriggerItemSettingsController.java b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/java/de/tobias/playpad/plugin/api/trigger/RemoteTriggerItemSettingsController.java
index 2fe553f0..36c14e8b 100644
--- a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/java/de/tobias/playpad/plugin/api/trigger/RemoteTriggerItemSettingsController.java
+++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/java/de/tobias/playpad/plugin/api/trigger/RemoteTriggerItemSettingsController.java
@@ -16,6 +16,7 @@ import javafx.scene.control.ComboBox;
 import javafx.scene.layout.VBox;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 public class RemoteTriggerItemSettingsController extends NVC {
@@ -52,8 +53,12 @@ public class RemoteTriggerItemSettingsController extends NVC {
 						projectPreviewView = null;
 					}
 
-					final List<? extends IPad> pads = item.getCarts().stream().map(project::getPad).collect(Collectors.toList());
-					projectPreviewView = new ProjectPreviewView(project, pads, 0);
+					final List<? extends IPad> preSelect = item.getCarts().stream()
+							.map(project::getPad)
+							.filter(Objects::nonNull)
+							.collect(Collectors.toList());
+
+					projectPreviewView = new ProjectPreviewView(project, preSelect, 0);
 					projectPreviewView.setPadding(new Insets(0, 0, 0, 164));
 					projectPreviewView.selectedProperty().addListener((InvalidationListener) observable -> {
 						item.getCarts().clear();
-- 
GitLab