X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libview%2Fev-view-presentation.c;h=0a11ce1cb5f6a95495e851d74fdef4e338d4a009;hb=a90e38bd4aab8013c402e55753275f5b3408e103;hp=c0234a82d6565ee88318a31a928f538f89dabcfb;hpb=e9113849f8bfac4e2a2217a6ce1cd727ef49c2b2;p=evince.git diff --git a/libview/ev-view-presentation.c b/libview/ev-view-presentation.c index c0234a82..0a11ce1c 100644 --- a/libview/ev-view-presentation.c +++ b/libview/ev-view-presentation.c @@ -30,7 +30,6 @@ #include "ev-transition-animation.h" #include "ev-view-cursor.h" #include "ev-page-cache.h" -#include "ev-mapping.h" enum { PROP_0, @@ -304,16 +303,16 @@ ev_view_presentation_animation_start (EvViewPresentation *pview, pview->animation = ev_transition_animation_new (effect); - surface = EV_JOB_RENDER (pview->curr_job)->surface; + surface = pview->curr_job ? EV_JOB_RENDER (pview->curr_job)->surface : NULL; ev_transition_animation_set_origin_surface (pview->animation, surface != NULL ? surface : pview->current_surface); jump = new_page - pview->current_page; if (jump == -1) - surface = EV_JOB_RENDER (pview->prev_job)->surface; + surface = pview->prev_job ? EV_JOB_RENDER (pview->prev_job)->surface : NULL; else if (jump == 1) - surface = EV_JOB_RENDER (pview->next_job)->surface; + surface = pview->next_job ? EV_JOB_RENDER (pview->next_job)->surface : NULL; else surface = NULL; if (surface) @@ -627,29 +626,28 @@ ev_view_presentation_goto_entry_activate (GtkEntry *entry, static void ev_view_presentation_goto_window_create (EvViewPresentation *pview) { - GtkWidget *frame, *hbox, *toplevel, *label; + GtkWidget *frame, *hbox, *label; + GtkWindow *toplevel, *goto_window; - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (pview)); + toplevel = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (pview))); + goto_window = GTK_WINDOW (pview->goto_window); if (pview->goto_window) { - if (GTK_WINDOW (toplevel)->group) - gtk_window_group_add_window (GTK_WINDOW (toplevel)->group, - GTK_WINDOW (pview->goto_window)); - else if (GTK_WINDOW (pview->goto_window)->group) - gtk_window_group_remove_window (GTK_WINDOW (pview->goto_window)->group, - GTK_WINDOW (pview->goto_window)); + if (gtk_window_has_group (toplevel)) + gtk_window_group_add_window (gtk_window_get_group (toplevel), goto_window); + else if (gtk_window_has_group (goto_window)) + gtk_window_group_remove_window (gtk_window_get_group (goto_window), goto_window); + return; } pview->goto_window = gtk_window_new (GTK_WINDOW_POPUP); - gtk_window_set_screen (GTK_WINDOW (pview->goto_window), - gtk_widget_get_screen (GTK_WIDGET (pview))); + gtk_window_set_screen (goto_window, gtk_widget_get_screen (GTK_WIDGET (pview))); - if (GTK_WINDOW (toplevel)->group) - gtk_window_group_add_window (GTK_WINDOW (toplevel)->group, - GTK_WINDOW (pview->goto_window)); + if (gtk_window_has_group (toplevel)) + gtk_window_group_add_window (gtk_window_get_group (toplevel), goto_window); - gtk_window_set_modal (GTK_WINDOW (pview->goto_window), TRUE); + gtk_window_set_modal (goto_window, TRUE); g_signal_connect (pview->goto_window, "delete_event", G_CALLBACK (ev_view_presentation_goto_window_delete_event), @@ -750,12 +748,12 @@ ev_view_presentation_get_link_at_location (EvViewPresentation *pview, gdouble x, gdouble y) { - GdkRectangle page_area; - GList *link_mapping; - EvLink *link; - gdouble width, height; - gdouble new_x, new_y; - gdouble scale; + GdkRectangle page_area; + EvMappingList *link_mapping; + EvLink *link; + gdouble width, height; + gdouble new_x, new_y; + gdouble scale; if (!pview->page_cache) return NULL;