aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2012-04-30 00:55:09 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-05-02 15:17:37 -0400
commitdc41b9b8f02dbe2228ae787d525dac43beebb7fa (patch)
treef3d9771fa9b5f6cf62b44da8c0568509a8f55536 /tools
parent281ef544a8476f750b9f378593c42b3e8a0b8788 (diff)
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>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/ui/gtk/setup.c4
-rw-r--r--tools/perf/ui/setup.c13
-rw-r--r--tools/perf/ui/tui/setup.c2
-rw-r--r--tools/perf/util/cache.h15
4 files changed, 16 insertions, 18 deletions
diff --git a/tools/perf/ui/gtk/setup.c b/tools/perf/ui/gtk/setup.c
index 8c3b573e863d..829529957766 100644
--- a/tools/perf/ui/gtk/setup.c
+++ b/tools/perf/ui/gtk/setup.c
@@ -1,9 +1,9 @@
1#include "gtk.h" 1#include "gtk.h"
2#include "../../util/cache.h" 2#include "../../util/cache.h"
3 3
4void perf_gtk__init(bool fallback_to_pager __used) 4int perf_gtk__init(void)
5{ 5{
6 gtk_init(NULL, NULL); 6 return gtk_init_check(NULL, NULL) ? 0 : -1;
7} 7}
8 8
9void perf_gtk__exit(bool wait_for_ok __used) 9void perf_gtk__exit(bool wait_for_ok __used)
diff --git a/tools/perf/ui/setup.c b/tools/perf/ui/setup.c
index 98130e099a0d..9f5f888f73e3 100644
--- a/tools/perf/ui/setup.c
+++ b/tools/perf/ui/setup.c
@@ -13,13 +13,14 @@ void setup_browser(bool fallback_to_pager)
13 13
14 switch (use_browser) { 14 switch (use_browser) {
15 case 2: 15 case 2:
16 perf_gtk__init(fallback_to_pager); 16 if (perf_gtk__init() == 0)
17 break; 17 break;
18 18 /* fall through */
19 case 1: 19 case 1:
20 ui__init(fallback_to_pager); 20 use_browser = 1;
21 break; 21 if (ui__init() == 0)
22 22 break;
23 /* fall through */
23 default: 24 default:
24 if (fallback_to_pager) 25 if (fallback_to_pager)
25 setup_pager(); 26 setup_pager();
diff --git a/tools/perf/ui/tui/setup.c b/tools/perf/ui/tui/setup.c
index 0194cea2ea0e..d33e943ac434 100644
--- a/tools/perf/ui/tui/setup.c
+++ b/tools/perf/ui/tui/setup.c
@@ -100,7 +100,7 @@ static void ui__signal(int sig)
100 exit(0); 100 exit(0);
101} 101}
102 102
103int ui__init(bool fallback_to_pager __used) 103int ui__init(void)
104{ 104{
105 int err; 105 int err;
106 106
diff --git a/tools/perf/util/cache.h b/tools/perf/util/cache.h
index 761d4e998101..cff18c617d13 100644
--- a/tools/perf/util/cache.h
+++ b/tools/perf/util/cache.h
@@ -45,27 +45,24 @@ void setup_browser(bool fallback_to_pager);
45void exit_browser(bool wait_for_ok); 45void exit_browser(bool wait_for_ok);
46 46
47#ifdef NO_NEWT_SUPPORT 47#ifdef NO_NEWT_SUPPORT
48static inline int ui__init(bool fallback_to_pager) 48static inline int ui__init(void)
49{ 49{
50 if (fallback_to_pager) 50 return -1;
51 setup_pager();
52 return 0;
53} 51}
54static inline void ui__exit(bool wait_for_ok __used) {} 52static inline void ui__exit(bool wait_for_ok __used) {}
55#else 53#else
56int ui__init(bool fallback_to_pager); 54int ui__init(void);
57void ui__exit(bool wait_for_ok); 55void ui__exit(bool wait_for_ok);
58#endif 56#endif
59 57
60#ifdef NO_GTK2_SUPPORT 58#ifdef NO_GTK2_SUPPORT
61static inline void perf_gtk__init(bool fallback_to_pager) 59static inline int perf_gtk__init(void)
62{ 60{
63 if (fallback_to_pager) 61 return -1;
64 setup_pager();
65} 62}
66static inline void perf_gtk__exit(bool wait_for_ok __used) {} 63static inline void perf_gtk__exit(bool wait_for_ok __used) {}
67#else 64#else
68void perf_gtk__init(bool fallback_to_pager); 65int perf_gtk__init(void);
69void perf_gtk__exit(bool wait_for_ok); 66void perf_gtk__exit(bool wait_for_ok);
70#endif 67#endif
71#endif /* NO_NEWT_SUPPORT && NO_GTK2_SUPPORT */ 68#endif /* NO_NEWT_SUPPORT && NO_GTK2_SUPPORT */