From 6acb55642b68e1e16991118c4067393671bc3bd1 Mon Sep 17 00:00:00 2001 From: ??? Date: Wed, 13 Jun 2012 10:22:57 +0900 Subject: [PATCH 07/12] 44_open_url from debian added error handling, see #467458. --- src/fe-gtk/fe-gtk.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-) diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c index 5efcaee..0734a9f 100644 --- a/src/fe-gtk/fe-gtk.c +++ b/src/fe-gtk/fe-gtk.c @@ -938,18 +938,22 @@ try_browser (const char *browser, const char *arg, const char *url) static void fe_open_url_inner (const char *url) { + char buf[256]; + #ifdef WIN32 ShellExecute (0, "open", url, NULL, NULL, SW_SHOWNORMAL); #else /* universal desktop URL opener (from xdg-utils). Supports gnome,kde,xfce4. */ if (try_browser ("xdg-open", NULL, url)) return; + fprintf( stderr, "fe_open_url_inner: failed to open %s with xdg-open\n", url ); /* try to detect GNOME */ if (g_getenv ("GNOME_DESKTOP_SESSION_ID")) { if (try_browser ("gnome-open", NULL, url)) /* Gnome 2.4+ has this */ return; + fprintf( stderr, "fe_open_url_inner: failed to open %s with gnome-open\n", url ); } /* try to detect KDE */ @@ -957,14 +961,21 @@ fe_open_url_inner (const char *url) { if (try_browser ("kfmclient", "exec", url)) return; + fprintf( stderr, "fe_open_url_inner: failed to open %s with kfmclient\n", url ); } /* everything failed, what now? just try firefox */ if (try_browser ("firefox", NULL, url)) return; + fprintf( stderr, "fe_open_url_inner: failed to open %s with firefox\n", url ); + + if (try_browser ("mozilla", NULL, url)) + return; + fprintf( stderr, "fe_open_url_inner: failed to open %s with mozilla\n", url ); /* fresh out of ideas... */ - try_browser ("mozilla", NULL, url); + snprintf (buf, sizeof (buf), "Failed to open url:\n\n%s", url); + fe_message (buf, FE_MSG_ERROR); #endif } -- 1.7.7.5 (Apple Git-26)