diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-10-06 09:46:45 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-10-07 16:01:04 -0400 |
commit | 7d16320e2315db434b28854c08677e0d15b604f1 (patch) | |
tree | 4d66882be91241d541dd97f7ee5080983b141230 /tools | |
parent | 724c9c9f20c7a0ebd9a728391f5adcfd4a76628b (diff) |
perf hists browser: Fix TAB/UNTAB use with multiple events
When requesting multiple events, say:
# perf top -e instructions -e cycles -e cache-misses
The first screen lets the user chose what to see first, then to switch
one can either use the left key to get back to the event menu or simply
use TAB to go the next and shift+TAB to go the prev.
When using TAB/UNTAB the call to perf_evlist__set_selected(event) was
missing, fix it.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-3xqqh3fwmt914gg43frey14y@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/util/ui/browsers/hists.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/perf/util/ui/browsers/hists.c b/tools/perf/util/ui/browsers/hists.c index b7901099eedb..ef6ccefad432 100644 --- a/tools/perf/util/ui/browsers/hists.c +++ b/tools/perf/util/ui/browsers/hists.c | |||
@@ -1107,12 +1107,14 @@ browse_hists: | |||
1107 | pos = list_entry(evlist->entries.next, struct perf_evsel, node); | 1107 | pos = list_entry(evlist->entries.next, struct perf_evsel, node); |
1108 | else | 1108 | else |
1109 | pos = list_entry(pos->node.next, struct perf_evsel, node); | 1109 | pos = list_entry(pos->node.next, struct perf_evsel, node); |
1110 | perf_evlist__set_selected(evlist, pos); | ||
1110 | goto browse_hists; | 1111 | goto browse_hists; |
1111 | case NEWT_KEY_UNTAB: | 1112 | case NEWT_KEY_UNTAB: |
1112 | if (pos->node.prev == &evlist->entries) | 1113 | if (pos->node.prev == &evlist->entries) |
1113 | pos = list_entry(evlist->entries.prev, struct perf_evsel, node); | 1114 | pos = list_entry(evlist->entries.prev, struct perf_evsel, node); |
1114 | else | 1115 | else |
1115 | pos = list_entry(pos->node.prev, struct perf_evsel, node); | 1116 | pos = list_entry(pos->node.prev, struct perf_evsel, node); |
1117 | perf_evlist__set_selected(evlist, pos); | ||
1116 | goto browse_hists; | 1118 | goto browse_hists; |
1117 | case 'q': | 1119 | case 'q': |
1118 | case CTRL('c'): | 1120 | case CTRL('c'): |