perf ui browser: Allow overriding refresh_dimensions method
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: fa70b5d66d6e9de3331f57e434a16bc0eee980a8 Gitweb: http://git.kernel.org/tip/fa70b5d66d6e9de3331f57e434a16bc0eee980a8 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 1 Jul 2014 16:34:42 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 7 Jul 2014 12:36:54 -0300
perf ui browser: Allow overriding refresh_dimensions method
Some browsers, like the hist_browser, may want to be notified everytime a refresh_dimensions is needed, so that it can reset ui_browser->rows, for instance, or do some other related reaction to screen resizings.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/ui/browser.c | 7 +++++-- tools/perf/ui/browser.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-)
tools/perf/ui/browser.c +5 -2
@@ -250,7 +250,10 @@ int ui_browser__show(struct ui_browser *browser, const char *title,int err;va_list ap; -ui_browser__refresh_dimensions (browser); +if (browser->refresh_dimensions ==NULL ) + browser->refresh_dimensions = ui_browser__refresh_dimensions; + + browser->refresh_dimensions (browser);pthread_mutex_lock (&ui__lock);__ui_browser__show_title (browser, title);
@@ -367,7 +370,7 @@ int ui_browser__run(struct ui_browser *browser, int delay_secs)if (key ==K_RESIZE ) {ui__refresh_dimensions (false); -ui_browser__refresh_dimensions (browser); + browser->refresh_dimensions (browser);__ui_browser__show_title (browser, browser->title);ui_helpline__puts (browser->helpline);continue ;
tools/perf/ui/browser.h +1 -0
@@ -19,6 +19,7 @@ struct ui_browser {void *priv;const char *title;char *helpline; +void (*refresh_dimensions)(struct ui_browser *browser);unsigned int (*refresh)(struct ui_browser *browser);void (*write)(struct ui_browser *browser,void *entry,int row);void (*seek)(struct ui_browser *browser,off_t offset,int whence);