From bdae122854ed2d93abf51d7ef4acfd72cd77f209 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Thu, 3 Nov 2011 08:31:28 +0000 Subject: [PATCH] Use external link button handler This fixes bugs on win32 --- src/main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main.c b/src/main.c index 3c2e57b..55d0ad9 100644 --- a/src/main.c +++ b/src/main.c @@ -47,6 +47,12 @@ static void log_func(const gchar *log_domain, GLogLevelFlags log_level, } } +static void xdg_open(GtkLinkButton *button, const gchar *link, gpointer user_data) +{ + gchar *argv[] = {"xdg-open", (gchar*)link, NULL}; + g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); +} + static void on_log_level_changed(GtkSpinButton *spinner, AWeatherGui *self) { g_message("main: log_level_changed"); @@ -122,6 +128,9 @@ int main(int argc, char *argv[]) return -1; } + /* Use external handler for link buttons */ + gtk_link_button_set_uri_hook(xdg_open, NULL, NULL); + /* Setup debug level for aweather_gui_new */ g_log_set_handler(NULL, G_LOG_LEVEL_MASK, log_func, NULL); log_levels = int2log(opt_debug >= 0 ? opt_debug : debug); -- 2.43.2