Commit dc41b9b8f02dbe2228ae787d525dac43beebb7fa

Authored by Namhyung Kim
Committed by Arnaldo Carvalho de Melo
1 parent 281ef544a8

perf ui: Change fallback policy of setup_browser()

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>

Showing 4 changed files with 16 additions and 18 deletions Side-by-side Diff

tools/perf/ui/gtk/setup.c
1 1 #include "gtk.h"
2 2 #include "../../util/cache.h"
3 3  
4   -void perf_gtk__init(bool fallback_to_pager __used)
  4 +int perf_gtk__init(void)
5 5 {
6   - gtk_init(NULL, NULL);
  6 + return gtk_init_check(NULL, NULL) ? 0 : -1;
7 7 }
8 8  
9 9 void perf_gtk__exit(bool wait_for_ok __used)
tools/perf/ui/setup.c
... ... @@ -13,13 +13,14 @@
13 13  
14 14 switch (use_browser) {
15 15 case 2:
16   - perf_gtk__init(fallback_to_pager);
17   - break;
18   -
  16 + if (perf_gtk__init() == 0)
  17 + break;
  18 + /* fall through */
19 19 case 1:
20   - ui__init(fallback_to_pager);
21   - break;
22   -
  20 + use_browser = 1;
  21 + if (ui__init() == 0)
  22 + break;
  23 + /* fall through */
23 24 default:
24 25 if (fallback_to_pager)
25 26 setup_pager();
tools/perf/ui/tui/setup.c
... ... @@ -100,7 +100,7 @@
100 100 exit(0);
101 101 }
102 102  
103   -int ui__init(bool fallback_to_pager __used)
  103 +int ui__init(void)
104 104 {
105 105 int err;
106 106  
tools/perf/util/cache.h
... ... @@ -45,27 +45,24 @@
45 45 void exit_browser(bool wait_for_ok);
46 46  
47 47 #ifdef NO_NEWT_SUPPORT
48   -static inline int ui__init(bool fallback_to_pager)
  48 +static inline int ui__init(void)
49 49 {
50   - if (fallback_to_pager)
51   - setup_pager();
52   - return 0;
  50 + return -1;
53 51 }
54 52 static inline void ui__exit(bool wait_for_ok __used) {}
55 53 #else
56   -int ui__init(bool fallback_to_pager);
  54 +int ui__init(void);
57 55 void ui__exit(bool wait_for_ok);
58 56 #endif
59 57  
60 58 #ifdef NO_GTK2_SUPPORT
61   -static inline void perf_gtk__init(bool fallback_to_pager)
  59 +static inline int perf_gtk__init(void)
62 60 {
63   - if (fallback_to_pager)
64   - setup_pager();
  61 + return -1;
65 62 }
66 63 static inline void perf_gtk__exit(bool wait_for_ok __used) {}
67 64 #else
68   -void perf_gtk__init(bool fallback_to_pager);
  65 +int perf_gtk__init(void);
69 66 void perf_gtk__exit(bool wait_for_ok);
70 67 #endif
71 68 #endif /* NO_NEWT_SUPPORT && NO_GTK2_SUPPORT */