From b648dccfd85ac7569852e01f8557307b66ecc953 Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Thu, 11 Apr 2019 06:24:47 +0000 Subject: [PATCH] Fixed NPE in case of detached waveform --- .../e4/application/handlers/AddWaveformHandler.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/handlers/AddWaveformHandler.java b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/handlers/AddWaveformHandler.java index 54c476e..4965478 100644 --- a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/handlers/AddWaveformHandler.java +++ b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/handlers/AddWaveformHandler.java @@ -40,13 +40,16 @@ public class AddWaveformHandler { @Named(IServiceConstants.ACTIVE_SELECTION) @Optional IStructuredSelection selection) { if(designBrowser==null) designBrowser = getListPart( partService); if(designBrowser==null || designBrowser.getActiveWaveformViewerPart()==null) return false; - Boolean before = "before".equalsIgnoreCase(where); //$NON-NLS-1$ + boolean before = "before".equalsIgnoreCase(where); //$NON-NLS-1$ + IStructuredSelection waveformSelection = null; + if(designBrowser.getActiveWaveformViewerPart()!=null) + waveformSelection = (IStructuredSelection)designBrowser.getActiveWaveformViewerPart().getSelection(); if("true".equalsIgnoreCase(all)) //$NON-NLS-1$ return designBrowser.getFilteredChildren().length>0 && - (!before || ((IStructuredSelection)designBrowser.getActiveWaveformViewerPart().getSelection()).size()>0); + (!before || (waveformSelection!=null && waveformSelection.size()>0)); else - return selection.size()>0 && - (!before || ((IStructuredSelection)designBrowser.getActiveWaveformViewerPart().getSelection()).size()>0); + return selection!=null && selection.size()>0 && + (!before || (waveformSelection!=null && waveformSelection.size()>0)); } @Execute