diff --git a/src/main/java/ch/psi/mxsc/BasePlatePanel.java b/src/main/java/ch/psi/mxsc/BasePlatePanel.java index e6a1c2c..9b05450 100644 --- a/src/main/java/ch/psi/mxsc/BasePlatePanel.java +++ b/src/main/java/ch/psi/mxsc/BasePlatePanel.java @@ -364,7 +364,9 @@ public class BasePlatePanel extends DevicePanel { void selectSample(Sample sample){ if (getSelectionMode()==SelectionMode.Samples){ - sample.setSelected(true); + if (sample!=null){ + sample.setSelected(true); + } Controller.getInstance().onSamplePressed(sample); repaint(); } @@ -404,7 +406,11 @@ public class BasePlatePanel extends DevicePanel { void selectPuck(Puck puck){ if (getSelectionMode()!=SelectionMode.None){ - puck.setSelected(true); + if (puck != null){ + puck.setSelected(true); + } else { + getDevice().resetSelection(); + } Controller.getInstance().onPuckPressed(puck); repaint(); } diff --git a/src/main/java/ch/psi/mxsc/Controller.java b/src/main/java/ch/psi/mxsc/Controller.java index 872e129..dd12a78 100644 --- a/src/main/java/ch/psi/mxsc/Controller.java +++ b/src/main/java/ch/psi/mxsc/Controller.java @@ -592,7 +592,7 @@ public class Controller { } void onSamplePressed(Sample sample) { - onPuckPressed(sample.getPuck()); + onPuckPressed((sample==null)? null : sample.getPuck()); } void onSampleReleased(Sample sample) {