]> 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 df3c17cefd54c002a8ddba6756769bcb87668c71..e6b0903f1adea9c8baec2653958490c0bd54f6e8 100644 (file)
@@ -2624,13 +2624,13 @@ ev_window_cmd_focus_page_selector (GtkAction *act, EvWindow *window)
 static void
 ev_window_cmd_scroll_forward (GtkAction *action, EvWindow *window)
 {
-       ev_view_scroll (EV_VIEW (window->priv->view), EV_SCROLL_PAGE_FORWARD, FALSE);
+       ev_view_scroll (EV_VIEW (window->priv->view), GTK_SCROLL_PAGE_FORWARD, FALSE);
 }
 
 static void
 ev_window_cmd_scroll_backward (GtkAction *action, EvWindow *window)
 {
-       ev_view_scroll (EV_VIEW (window->priv->view), EV_SCROLL_PAGE_BACKWARD, FALSE);
+       ev_view_scroll (EV_VIEW (window->priv->view), GTK_SCROLL_PAGE_BACKWARD, FALSE);
 }
 
 static void
@@ -4143,7 +4143,9 @@ find_bar_visibility_changed_cb (EggFindBar *find_bar,
 }
 
 static void
-find_bar_scroll(EggFindBar *find_bar, GtkScrollType scroll, EvWindow* ev_window)
+find_bar_scroll (EggFindBar   *find_bar,
+                GtkScrollType scroll,
+                EvWindow     *ev_window)
 {
        ev_view_scroll (EV_VIEW (ev_window->priv->view), scroll, FALSE);
 }
@@ -4884,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;