]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-view.c
Some fixes for the Catalan translation.
[evince.git] / shell / ev-view.c
index 99f074119c7ee21a2851032c7d8b451448d223b0..9f59ea1d18445a3ffd72e8ae70233a95d0fb19bb 100644 (file)
@@ -1517,7 +1517,6 @@ handle_link_over_xy (EvView *view, gint x, gint y)
                    view->cursor == EV_VIEW_CURSOR_IBEAM)
                        ev_view_set_cursor (view, EV_VIEW_CURSOR_NORMAL);
        }
                    view->cursor == EV_VIEW_CURSOR_IBEAM)
                        ev_view_set_cursor (view, EV_VIEW_CURSOR_NORMAL);
        }
-       return;
 }
 
 /*** Images ***/
 }
 
 /*** Images ***/
@@ -3406,10 +3405,17 @@ page_changed_cb (EvPageCache *page_cache,
                 EvView      *view)
 {
        if (view->current_page != new_page) {
                 EvView      *view)
 {
        if (view->current_page != new_page) {
+               gint x, y;
+               
                view->current_page = new_page;
                view->pending_scroll = SCROLL_TO_PAGE_POSITION;
                view->current_page = new_page;
                view->pending_scroll = SCROLL_TO_PAGE_POSITION;
+
                if (view->presentation)
                        ev_view_presentation_transition_start (view);
                if (view->presentation)
                        ev_view_presentation_transition_start (view);
+               
+               gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y);
+               handle_link_over_xy (view, x, y);
+               
                gtk_widget_queue_resize (GTK_WIDGET (view));
        } else {
                gtk_widget_queue_draw (GTK_WIDGET (view));
                gtk_widget_queue_resize (GTK_WIDGET (view));
        } else {
                gtk_widget_queue_draw (GTK_WIDGET (view));
@@ -3421,10 +3427,12 @@ page_changed_cb (EvPageCache *page_cache,
        }
 }
 
        }
 }
 
-static void on_adjustment_value_changed (GtkAdjustment  *adjustment,
-                                        EvView *view)
+static void
+on_adjustment_value_changed (GtkAdjustment *adjustment,
+                            EvView        *view)
 {
        int dx = 0, dy = 0;
 {
        int dx = 0, dy = 0;
+       gint x, y;
 
        if (! GTK_WIDGET_REALIZED (view))
                return;
 
        if (! GTK_WIDGET_REALIZED (view))
                return;
@@ -3443,12 +3451,13 @@ static void on_adjustment_value_changed (GtkAdjustment  *adjustment,
                view->scroll_y = 0;
        }
 
                view->scroll_y = 0;
        }
 
-
        if (view->pending_resize)
                gtk_widget_queue_draw (GTK_WIDGET (view));
        else
                gdk_window_scroll (GTK_WIDGET (view)->window, dx, dy);
        if (view->pending_resize)
                gtk_widget_queue_draw (GTK_WIDGET (view));
        else
                gdk_window_scroll (GTK_WIDGET (view)->window, dx, dy);
-
+               
+       gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y);
+       handle_link_over_xy (view, x, y);
 
        if (view->document)
                view_update_range_and_current_page (view);
 
        if (view->document)
                view_update_range_and_current_page (view);
@@ -3471,6 +3480,9 @@ setup_caches (EvView *view)
        g_signal_connect (view->page_cache, "page-changed", G_CALLBACK (page_changed_cb), view);
        view->pixbuf_cache = ev_pixbuf_cache_new (GTK_WIDGET (view), view->document);
        g_signal_connect (view->pixbuf_cache, "job-finished", G_CALLBACK (job_finished_cb), view);
        g_signal_connect (view->page_cache, "page-changed", G_CALLBACK (page_changed_cb), view);
        view->pixbuf_cache = ev_pixbuf_cache_new (GTK_WIDGET (view), view->document);
        g_signal_connect (view->pixbuf_cache, "job-finished", G_CALLBACK (job_finished_cb), view);
+       page_changed_cb (view->page_cache,
+                        ev_page_cache_get_current_page (view->page_cache),
+                        view);
 }
 
 static void
 }
 
 static void
@@ -4743,8 +4755,10 @@ ev_view_primary_get_cb (GtkClipboard     *clipboard,
        }
 
        text = get_selected_text (ev_view);
        }
 
        text = get_selected_text (ev_view);
-       gtk_selection_data_set_text (selection_data, text, -1);
-       g_free (text);
+       if (text) {
+               gtk_selection_data_set_text (selection_data, text, -1);
+               g_free (text);
+       }
 }
 
 static void
 }
 
 static void