evince r2933 - in trunk: . shell



Author: carlosg
Date: Fri Feb 29 09:23:30 2008
New Revision: 2933
URL: http://svn.gnome.org/viewvc/evince?rev=2933&view=rev

Log:
2008-02-29  Carlos Garnacho  <carlosg gnome org>

        * shell/ev-transition-animation.[ch] (ev_transition_animation_ready):
        Added. Returns whether the animation has everything necessary to run.
        * shell/ev-view.c (ev_view_expose_event): Do not assume the animation
        is ready just because it's been created. Fixes #519106.
        (draw_one_page): Do not show the "Loading..." text in presentation
        mode, there was a slim probability that this could happen.



Modified:
   trunk/ChangeLog
   trunk/shell/ev-transition-animation.c
   trunk/shell/ev-transition-animation.h
   trunk/shell/ev-view.c

Modified: trunk/shell/ev-transition-animation.c
==============================================================================
--- trunk/shell/ev-transition-animation.c	(original)
+++ trunk/shell/ev-transition-animation.c	Fri Feb 29 09:23:30 2008
@@ -668,3 +668,15 @@
 	if (priv->origin_surface && priv->dest_surface)
 		ev_timeline_start (EV_TIMELINE (animation));
 }
+
+gboolean
+ev_transition_animation_ready (EvTransitionAnimation *animation)
+{
+	EvTransitionAnimationPriv *priv;
+
+	g_return_val_if_fail (EV_IS_TRANSITION_ANIMATION (animation), FALSE);
+
+	priv = EV_TRANSITION_ANIMATION_GET_PRIVATE (animation);
+
+	return (priv->origin_surface && priv->dest_surface);
+}

Modified: trunk/shell/ev-transition-animation.h
==============================================================================
--- trunk/shell/ev-transition-animation.h	(original)
+++ trunk/shell/ev-transition-animation.h	Fri Feb 29 09:23:30 2008
@@ -60,6 +60,8 @@
 void                    ev_transition_animation_paint              (EvTransitionAnimation *animation,
 								    cairo_t               *cr,
 								    GdkRectangle           page_area);
+gboolean                ev_transition_animation_ready              (EvTransitionAnimation *animation);
+
 
 G_END_DECLS
 

Modified: trunk/shell/ev-view.c
==============================================================================
--- trunk/shell/ev-view.c	(original)
+++ trunk/shell/ev-view.c	Fri Feb 29 09:23:30 2008
@@ -2483,7 +2483,7 @@
 	cairo_t *cr;
 	gint     i;
 
-	if (view->animation) {
+	if (view->animation && ev_transition_animation_ready (view->animation)) {
 		GdkRectangle page_area;
 		GtkBorder    border;
 
@@ -3739,9 +3739,12 @@
 		page_surface = ev_pixbuf_cache_get_surface (view->pixbuf_cache, page);
 
 		if (!page_surface) {
-			draw_loading_text (view,
-					   &real_page_area,
-					   expose_area);
+			if (!view->presentation) {
+				draw_loading_text (view,
+						   &real_page_area,
+						   expose_area);
+			}
+
 			*page_ready = FALSE;
 
 			return;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]