Skip to content

Commit

Permalink
perf ui: Change fallback policy of setup_browser()
Browse files Browse the repository at this point in the history
If gtk2 support is not enabled (or failed for some reason) try TUI again
instead of falling directly back to the stdio interface.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1335761711-31403-6-git-send-email-namhyung.kim@lge.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Namhyung Kim authored and Arnaldo Carvalho de Melo committed May 2, 2012
1 parent 281ef54 commit dc41b9b
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 18 deletions.
4 changes: 2 additions & 2 deletions tools/perf/ui/gtk/setup.c
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#include "gtk.h"
#include "../../util/cache.h"

void perf_gtk__init(bool fallback_to_pager __used)
int perf_gtk__init(void)
{
gtk_init(NULL, NULL);
return gtk_init_check(NULL, NULL) ? 0 : -1;
}

void perf_gtk__exit(bool wait_for_ok __used)
Expand Down
13 changes: 7 additions & 6 deletions tools/perf/ui/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@ void setup_browser(bool fallback_to_pager)

switch (use_browser) {
case 2:
perf_gtk__init(fallback_to_pager);
break;

if (perf_gtk__init() == 0)
break;
/* fall through */
case 1:
ui__init(fallback_to_pager);
break;

use_browser = 1;
if (ui__init() == 0)
break;
/* fall through */
default:
if (fallback_to_pager)
setup_pager();
Expand Down
2 changes: 1 addition & 1 deletion tools/perf/ui/tui/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ static void ui__signal(int sig)
exit(0);
}

int ui__init(bool fallback_to_pager __used)
int ui__init(void)
{
int err;

Expand Down
15 changes: 6 additions & 9 deletions tools/perf/util/cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,27 +45,24 @@ void setup_browser(bool fallback_to_pager);
void exit_browser(bool wait_for_ok);

#ifdef NO_NEWT_SUPPORT
static inline int ui__init(bool fallback_to_pager)
static inline int ui__init(void)
{
if (fallback_to_pager)
setup_pager();
return 0;
return -1;
}
static inline void ui__exit(bool wait_for_ok __used) {}
#else
int ui__init(bool fallback_to_pager);
int ui__init(void);
void ui__exit(bool wait_for_ok);
#endif

#ifdef NO_GTK2_SUPPORT
static inline void perf_gtk__init(bool fallback_to_pager)
static inline int perf_gtk__init(void)
{
if (fallback_to_pager)
setup_pager();
return -1;
}
static inline void perf_gtk__exit(bool wait_for_ok __used) {}
#else
void perf_gtk__init(bool fallback_to_pager);
int perf_gtk__init(void);
void perf_gtk__exit(bool wait_for_ok);
#endif
#endif /* NO_NEWT_SUPPORT && NO_GTK2_SUPPORT */
Expand Down

0 comments on commit dc41b9b

Please sign in to comment.