X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libview%2Fev-view.c;h=31ce2f52d942fa0819d42e0440ffdbc73d8ded9d;hb=776a6fe02961d8901d21e172633d3c8d1c85dc93;hp=60a58af8c72660903ac18a9673976260a92957d1;hpb=e2822c4d43b39aa535f923b4e0fb4af6537d056f;p=evince.git diff --git a/libview/ev-view.c b/libview/ev-view.c index 60a58af8..31ce2f52 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -520,14 +520,14 @@ view_update_range_and_current_page (EvView *view) for (i = end; i > view->end_page; i--) { hide_annotation_windows (view, i); } - - ev_pixbuf_cache_set_page_range (view->pixbuf_cache, - view->start_page, - view->end_page, - view->rotation, - view->scale, - view->selection_info.selections); } + + ev_pixbuf_cache_set_page_range (view->pixbuf_cache, + view->start_page, + view->end_page, + view->rotation, + view->scale, + view->selection_info.selections); } static void @@ -3800,7 +3800,7 @@ ev_view_key_press_event (GtkWidget *widget, if (!view->document) return FALSE; - if (!view->presentation) { + if (!GTK_WIDGET_HAS_FOCUS (widget)) { /* Forward key events to current focused window child */ if (view->window_child_focus) { GdkEventKey *new_event; @@ -3815,7 +3815,12 @@ ev_view_key_press_event (GtkWidget *widget, return handled; } - } else if (view->presentation_state == EV_PRESENTATION_END) + + return FALSE; + } + + if (!view->presentation || + view->presentation_state == EV_PRESENTATION_END) return gtk_bindings_activate_event (GTK_OBJECT (widget), event); @@ -4546,6 +4551,8 @@ ev_view_init (EvView *view) { GTK_WIDGET_SET_FLAGS (view, GTK_CAN_FOCUS); + view->start_page = -1; + view->end_page = -1; view->spacing = 5; view->scale = 1.0; view->current_page = 0; @@ -4885,6 +4892,8 @@ ev_view_set_document (EvView *view, setup_caches (view); } + view_update_range_and_current_page (view); + gtk_widget_queue_resize (GTK_WIDGET (view)); } }