lttng: fix NPE in channel dialog without kernel tracer (bug 415617)
authorBernd Hufmann <Bernd.Hufmann@ericsson.com>
Wed, 21 Aug 2013 19:26:30 +0000 (15:26 -0400)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Thu, 22 Aug 2013 11:51:20 +0000 (07:51 -0400)
It also fixes the enablement and selection of the per PID/UID
buffer buttons for the case a kernel tracer is not available.

Change-Id: I01ce496914c70f5330beab478c0ce4528cf8df59
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/15754
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableChannelDialog.java

index 9a927d0f063775c63fb9d483a54a4c294014e546..08c10139045ae43aba221ffff82dead7d2b136eb 100644 (file)
@@ -424,25 +424,9 @@ public class EnableChannelDialog extends Dialog implements IEnableChannelDialog
 
             if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
                 fSharedBuffersButton.setEnabled(false);
-                fUIDBuffersButton.setEnabled(false);
-                fPIDBuffersButton.setEnabled(false);
-
-                if (fDomain.getBufferType() != null) {
-                    switch (fDomain.getBufferType()) {
-                    case BUFFER_PER_PID:
-                        fPIDBuffersButton.setSelection(true);
-                        break;
-                    case BUFFER_PER_UID:
-                        fUIDBuffersButton.setSelection(true);
-                        break;
-                    case BUFFER_SHARED:
-                        fSharedBuffersButton.setSelection(true);
-                        break;
-                        //$CASES-OMITTED$
-                    default:
-                        break;
-                    }
-                }
+                fUIDBuffersButton.setEnabled(!fHasKernel);
+                fPIDBuffersButton.setEnabled(!fHasKernel);
+                setBufferTypeButtonSelection();
             }
         }
 
@@ -585,8 +569,27 @@ public class EnableChannelDialog extends Dialog implements IEnableChannelDialog
         fNumberOfSubBuffersText.setText(DEFAULT_TEXT);
         fNumberOfSubBuffersText.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
         if (fTargetNodeComponent.isBufferTypeConfigSupported()) {
-            fPIDBuffersButton.setSelection(false);
-            fUIDBuffersButton.setSelection(false);
+            setBufferTypeButtonSelection();
         }
     }
+
+    private void setBufferTypeButtonSelection() {
+        if ((fDomain != null) && fDomain.getBufferType() != null) {
+            switch (fDomain.getBufferType()) {
+            case BUFFER_PER_PID:
+                fPIDBuffersButton.setSelection(true);
+                break;
+            case BUFFER_PER_UID:
+                fUIDBuffersButton.setSelection(true);
+                break;
+            case BUFFER_SHARED:
+                fSharedBuffersButton.setSelection(true);
+                break;
+                //$CASES-OMITTED$
+            default:
+                break;
+            }
+        }
+    }
+
 }
This page took 0.025535 seconds and 5 git commands to generate.