Re: [PATCH 6/7] perf hists browser: Split popup menu actions

From: Jiri Olsa
Date: Mon Apr 20 2015 - 05:46:31 EST


On Sun, Apr 19, 2015 at 01:04:14PM +0900, Namhyung Kim wrote:

SNIP

> continue;
> case 's':
> - if (is_report_browser(hbt))
> - goto do_data_switch;
> + if (is_report_browser(hbt)) {
> + key = do_switch_data(opts, browser, hbt,
> + fstack, env);
> + if (key == K_SWITCH_INPUT_DATA)
> + goto out_free_stack;
> + }
> continue;
> case 'i':
> /* env->arch is NULL for live-mode (i.e. perf top) */
> @@ -1592,10 +1878,16 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
> continue;
> }
> top = pstack__pop(fstack);
> - if (top == &browser->hists->dso_filter)
> - goto zoom_out_dso;
> - if (top == &browser->hists->thread_filter)
> - goto zoom_out_thread;
> + if (top == &browser->hists->dso_filter) {
> + perf_hpp__set_elide(HISTC_DSO, false);
> + browser->hists->dso_filter = NULL;
> + ui_helpline__pop();
> + }
> + if (top == &browser->hists->thread_filter) {
> + perf_hpp__set_elide(HISTC_THREAD, false);
> + thread__zput(browser->hists->thread_filter);
> + ui_helpline__pop();
> + }

ui_helpline__pop could be called in heare and removed in above legs:

ui_helpline__pop()

also the original code calls following for zoom out:

- hists__filter_by_dso(hists);
- hist_browser__reset(browser);


jirka
> continue;
> }
> case K_ESC:
> @@ -1620,200 +1912,69 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
> if (sort__mode == SORT_MODE__BRANCH) {
> bi = browser->he_selection->branch_info;
>

SNIP
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/