diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index a81b298b79f98bfe988973bb980ac4d1a2ba9640..9d744358ca78e10dcaf2145a040d9a330cc7dfdc 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -2042,25 +2042,30 @@ static int hist_browser__dump(struct hist_browser *browser) return 0; } +void hist_browser__init(struct hist_browser *browser, + struct hists *hists) +{ + struct perf_hpp_fmt *fmt; + + browser->hists = hists; + browser->b.refresh = hist_browser__refresh; + browser->b.refresh_dimensions = hist_browser__refresh_dimensions; + browser->b.seek = ui_browser__hists_seek; + browser->b.use_navkeypressed = true; + browser->show_headers = symbol_conf.show_hist_headers; + + hists__for_each_format(hists, fmt) { + perf_hpp__reset_width(fmt, hists); + ++browser->b.columns; + } +} + struct hist_browser *hist_browser__new(struct hists *hists) { struct hist_browser *browser = zalloc(sizeof(*browser)); - if (browser) { - struct perf_hpp_fmt *fmt; - - browser->hists = hists; - browser->b.refresh = hist_browser__refresh; - browser->b.refresh_dimensions = hist_browser__refresh_dimensions; - browser->b.seek = ui_browser__hists_seek; - browser->b.use_navkeypressed = true; - browser->show_headers = symbol_conf.show_hist_headers; - - hists__for_each_format(hists, fmt) { - perf_hpp__reset_width(fmt, hists); - ++browser->b.columns; - } - } + if (browser) + hist_browser__init(browser, hists); return browser; } diff --git a/tools/perf/ui/browsers/hists.h b/tools/perf/ui/browsers/hists.h index ec55a511d9109e22c8491b31856210e2f319a2c6..39bd0f28f211378f1f305f82d4ac7ce93a03973e 100644 --- a/tools/perf/ui/browsers/hists.h +++ b/tools/perf/ui/browsers/hists.h @@ -27,4 +27,6 @@ struct hist_browser { struct hist_browser *hist_browser__new(struct hists *hists); void hist_browser__delete(struct hist_browser *browser); int hist_browser__run(struct hist_browser *browser, const char *help); +void hist_browser__init(struct hist_browser *browser, + struct hists *hists); #endif /* _PERF_UI_BROWSER_HISTS_H_ */