]> 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 ed64145dcb807af3087e63028d9236390aeb196f..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;
        
@@ -5063,7 +5075,7 @@ image_save_dialog_response_cb (GtkWidget *fc,
        }
 
        extensions = gdk_pixbuf_format_get_extensions (format);
-       if (g_str_has_suffix(uri, extensions[0])) {
+       if (!g_str_has_suffix (uri, extensions[0])) {
                gchar *uri_extension;
                
                uri_extension = g_strconcat (uri, ".", extensions[0], NULL);
@@ -5072,7 +5084,7 @@ image_save_dialog_response_cb (GtkWidget *fc,
        } else {
                target_file = g_file_new_for_uri (uri);
        }
-       g_strfreev(extensions);
+       g_strfreev (extensions);
        g_free (uri);
        
        is_native = g_file_is_native (target_file);