diff options
author | Bernd Hufmann | 2014-10-30 12:38:22 +0000 |
---|---|---|
committer | Bernd Hufmann | 2014-11-13 14:15:56 +0000 |
commit | d137ed10f6054a58eee99222cd44c3664723485d (patch) | |
tree | 610ca20db93181fcae9cba3f9d6db706c36c210a /lttng | |
parent | dba654e6327546d56edebf224424c08641f943ac (diff) | |
download | org.eclipse.linuxtools-d137ed10f6054a58eee99222cd44c3664723485d.tar.gz org.eclipse.linuxtools-d137ed10f6054a58eee99222cd44c3664723485d.tar.xz org.eclipse.linuxtools-d137ed10f6054a58eee99222cd44c3664723485d.zip |
lttng-control: fix enable events when filtering in tree (bug 450526)
Change-Id: Ie5f79499fd83131e83067c7a33f54f185f2e1100
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/36135
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Diffstat (limited to 'lttng')
2 files changed, 24 insertions, 8 deletions
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java index 7dc6300752..f600fa6c6d 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java +++ b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java @@ -259,9 +259,6 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern fSelectedEvents = new ArrayList<>(); if (fIsTracepoints) { - List<ITraceControlComponent> comps = fProviderGroup.getChildren(KernelProviderComponent.class); - fIsAllTracepoints = fTracepointsViewer.getChecked(comps.get(0)); - Object[] checkedElements = fTracepointsViewer.getCheckedElements(); for (int i = 0; i < checkedElements.length; i++) { ITraceControlComponent component = (ITraceControlComponent)checkedElements[i]; @@ -269,6 +266,13 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern fSelectedEvents.add(component.getName()); } } + // verify if all events are selected + int nbEvents = 0; + List<ITraceControlComponent> comps = fProviderGroup.getChildren(KernelProviderComponent.class); + for (ITraceControlComponent comp : comps) { + nbEvents += comp.getChildren().length; + } + fIsAllTracepoints = (nbEvents == fSelectedEvents.size()); } if (fIsDynamicProbe) { diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java index af21af6aae..41e198100b 100644 --- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java +++ b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/dialogs/EnableUstEventsComposite.java @@ -262,16 +262,28 @@ public class EnableUstEventsComposite extends Composite implements IEnableUstEve fIsAllTracepoints = false; fSelectedEvents = new ArrayList<>(); if (fIsTracepoints) { - fIsAllTracepoints = fTracepointsViewer.getChecked(fProviderGroup); Set<String> set = new HashSet<>(); Object[] checkedElements = fTracepointsViewer.getCheckedElements(); + int totalNbEvents = 0; for (int i = 0; i < checkedElements.length; i++) { - ITraceControlComponent component = (ITraceControlComponent)checkedElements[i]; - if (!set.contains(component.getName()) && (component instanceof BaseEventComponent)) { - set.add(component.getName()); - fSelectedEvents.add(component.getName()); + ITraceControlComponent component = (ITraceControlComponent) checkedElements[i]; + if (component instanceof BaseEventComponent) { + totalNbEvents++; + if (!set.contains(component.getName())) { + set.add(component.getName()); + fSelectedEvents.add(component.getName()); + } } + + } + + // verify if all events are selected + int nbUstEvents = 0; + List<ITraceControlComponent> comps = fProviderGroup.getChildren(UstProviderComponent.class); + for (ITraceControlComponent comp : comps) { + nbUstEvents += comp.getChildren().length; } + fIsAllTracepoints = (nbUstEvents == totalNbEvents); } // initialize log level event name string |