diff options
| author | Namhyung Kim <namhyung.kim@lge.com> | 2012-04-30 00:55:09 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-05-02 15:17:37 -0400 |
| commit | dc41b9b8f02dbe2228ae787d525dac43beebb7fa (patch) | |
| tree | f3d9771fa9b5f6cf62b44da8c0568509a8f55536 | |
| parent | 281ef544a8476f750b9f378593c42b3e8a0b8788 (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>
| -rw-r--r-- | tools/perf/ui/gtk/setup.c | 4 | ||||
| -rw-r--r-- | tools/perf/ui/setup.c | 13 | ||||
| -rw-r--r-- | tools/perf/ui/tui/setup.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/cache.h | 15 |
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 | ||
| 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 | void perf_gtk__exit(bool wait_for_ok __used) | 9 | void 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 | ||
| 103 | int ui__init(bool fallback_to_pager __used) | 103 | int 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); | |||
| 45 | void exit_browser(bool wait_for_ok); | 45 | void exit_browser(bool wait_for_ok); |
| 46 | 46 | ||
| 47 | #ifdef NO_NEWT_SUPPORT | 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) | 50 | return -1; |
| 51 | setup_pager(); | ||
| 52 | return 0; | ||
| 53 | } | 51 | } |
| 54 | static inline void ui__exit(bool wait_for_ok __used) {} | 52 | static inline void ui__exit(bool wait_for_ok __used) {} |
| 55 | #else | 53 | #else |
| 56 | int ui__init(bool fallback_to_pager); | 54 | int ui__init(void); |
| 57 | void ui__exit(bool wait_for_ok); | 55 | void ui__exit(bool wait_for_ok); |
| 58 | #endif | 56 | #endif |
| 59 | 57 | ||
| 60 | #ifdef NO_GTK2_SUPPORT | 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) | 61 | return -1; |
| 64 | setup_pager(); | ||
| 65 | } | 62 | } |
| 66 | static inline void perf_gtk__exit(bool wait_for_ok __used) {} | 63 | static inline void perf_gtk__exit(bool wait_for_ok __used) {} |
| 67 | #else | 64 | #else |
| 68 | void perf_gtk__init(bool fallback_to_pager); | 65 | int perf_gtk__init(void); |
| 69 | void perf_gtk__exit(bool wait_for_ok); | 66 | void 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 */ |
