]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
Assume invalid uris are http uris. Fixes bug #552071.
[evince.git] / shell / ev-window.c
index 9f27479c7f6c496228344c2538b4fcbe194eac66..e6b0903f1adea9c8baec2653958490c0bd54f6e8 100644 (file)
@@ -4886,8 +4886,18 @@ launch_external_uri (EvWindow *window, EvLinkAction *action)
        const gchar *uri = ev_link_action_get_uri (action);
        GError *error = NULL;
        gboolean ret;
+
+       if (!g_strstr_len (uri, strlen (uri), "://")) {
+               gchar *http;
+               
+               /* Not a valid uri, assuming it's http */
+               http = g_strdup_printf ("http://%s", uri);
+               ret = g_app_info_launch_default_for_uri (http, NULL, &error);
+               g_free (http);
+       } else {
+               ret = g_app_info_launch_default_for_uri (uri, NULL, &error);
+       }
        
-       ret = g_app_info_launch_default_for_uri (uri, NULL, &error);
        if (ret == FALSE) {
                GtkWidget *dialog;