|
|
@@ -633,7 +633,11 @@ int hist_browser__run(struct hist_browser *browser, const char *help,
|
|
|
switch (key) {
|
|
|
case K_TIMER: {
|
|
|
u64 nr_entries;
|
|
|
- hbt->timer(hbt->arg);
|
|
|
+
|
|
|
+ WARN_ON_ONCE(!hbt);
|
|
|
+
|
|
|
+ if (hbt)
|
|
|
+ hbt->timer(hbt->arg);
|
|
|
|
|
|
if (hist_browser__has_filter(browser) ||
|
|
|
symbol_conf.report_hierarchy)
|
|
|
@@ -2707,7 +2711,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
|
|
|
{
|
|
|
struct hists *hists = evsel__hists(evsel);
|
|
|
struct hist_browser *browser = perf_evsel_browser__new(evsel, hbt, env, annotation_opts);
|
|
|
- struct branch_info *bi;
|
|
|
+ struct branch_info *bi = NULL;
|
|
|
#define MAX_OPTIONS 16
|
|
|
char *options[MAX_OPTIONS];
|
|
|
struct popup_action actions[MAX_OPTIONS];
|
|
|
@@ -2973,7 +2977,9 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
|
|
|
goto skip_annotation;
|
|
|
|
|
|
if (sort__mode == SORT_MODE__BRANCH) {
|
|
|
- bi = browser->he_selection->branch_info;
|
|
|
+
|
|
|
+ if (browser->he_selection)
|
|
|
+ bi = browser->he_selection->branch_info;
|
|
|
|
|
|
if (bi == NULL)
|
|
|
goto skip_annotation;
|
|
|
@@ -3144,7 +3150,8 @@ static int perf_evsel_menu__run(struct perf_evsel_menu *menu,
|
|
|
|
|
|
switch (key) {
|
|
|
case K_TIMER:
|
|
|
- hbt->timer(hbt->arg);
|
|
|
+ if (hbt)
|
|
|
+ hbt->timer(hbt->arg);
|
|
|
|
|
|
if (!menu->lost_events_warned &&
|
|
|
menu->lost_events &&
|