diff options
Diffstat (limited to 'tools/perf/builtin-annotate.c')
| -rw-r--r-- | tools/perf/builtin-annotate.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 1478dc64bf15..20ee21d52972 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c | |||
| @@ -321,7 +321,7 @@ static int hist_entry__tty_annotate(struct hist_entry *he) | |||
| 321 | 321 | ||
| 322 | static void hists__find_annotations(struct hists *self) | 322 | static void hists__find_annotations(struct hists *self) |
| 323 | { | 323 | { |
| 324 | struct rb_node *first = rb_first(&self->entries), *nd = first; | 324 | struct rb_node *nd = rb_first(&self->entries), *next; |
| 325 | int key = KEY_RIGHT; | 325 | int key = KEY_RIGHT; |
| 326 | 326 | ||
| 327 | while (nd) { | 327 | while (nd) { |
| @@ -343,20 +343,19 @@ find_next: | |||
| 343 | 343 | ||
| 344 | if (use_browser > 0) { | 344 | if (use_browser > 0) { |
| 345 | key = hist_entry__tui_annotate(he); | 345 | key = hist_entry__tui_annotate(he); |
| 346 | if (is_exit_key(key)) | ||
| 347 | break; | ||
| 348 | switch (key) { | 346 | switch (key) { |
| 349 | case KEY_RIGHT: | 347 | case KEY_RIGHT: |
| 350 | case '\t': | 348 | next = rb_next(nd); |
| 351 | nd = rb_next(nd); | ||
| 352 | break; | 349 | break; |
| 353 | case KEY_LEFT: | 350 | case KEY_LEFT: |
| 354 | if (nd == first) | 351 | next = rb_prev(nd); |
| 355 | continue; | ||
| 356 | nd = rb_prev(nd); | ||
| 357 | default: | ||
| 358 | break; | 352 | break; |
| 353 | default: | ||
| 354 | return; | ||
| 359 | } | 355 | } |
| 356 | |||
| 357 | if (next != NULL) | ||
| 358 | nd = next; | ||
| 360 | } else { | 359 | } else { |
| 361 | hist_entry__tty_annotate(he); | 360 | hist_entry__tty_annotate(he); |
| 362 | nd = rb_next(nd); | 361 | nd = rb_next(nd); |
