From 354a8dd987f37bfe3c5bbafcb6047f34b6486aaa Mon Sep 17 00:00:00 2001 From: Nickolay V. Shmyrev Date: Mon, 30 Mar 2009 01:49:12 +0000 Subject: Animation is ready only when origin surface is ready. This fixes fading 2009-03-30 Nickolay V. Shmyrev * libview/ev-transition-animation.c: (ev_transition_animation_paint), (ev_transition_animation_ready): Animation is ready only when origin surface is ready. This fixes fading animations because otherwise next page is displayed before animaiton starts. svn path=/trunk/; revision=3562 --- (limited to 'libview/ev-view.c') diff --git a/libview/ev-view.c b/libview/ev-view.c index 146b229..7626f86 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -2421,19 +2421,21 @@ ev_view_expose_event (GtkWidget *widget, cairo_t *cr; gint i; - if (view->animation && ev_transition_animation_ready (view->animation)) { - GdkRectangle page_area; - GtkBorder border; + if (view->animation) { + if (ev_transition_animation_ready (view->animation)) { + GdkRectangle page_area; + GtkBorder border; - if (get_page_extents (view, view->current_page, &page_area, &border)) { - cr = gdk_cairo_create (view->layout.bin_window); + if (get_page_extents (view, view->current_page, &page_area, &border)) { + cr = gdk_cairo_create (view->layout.bin_window); - /* normalize to x=0, y=0 */ - cairo_translate (cr, page_area.x, page_area.y); - page_area.x = page_area.y = 0; + /* normalize to x=0, y=0 */ + cairo_translate (cr, page_area.x, page_area.y); + page_area.x = page_area.y = 0; - ev_transition_animation_paint (view->animation, cr, page_area); - cairo_destroy (cr); + ev_transition_animation_paint (view->animation, cr, page_area); + cairo_destroy (cr); + } } return TRUE; -- cgit v0.9.1