+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.
+
2008-02-27 Carlos Garcia Campos <carlosgc@gnome.org>
* libdocument/ev-document-factory.c: (get_mime_type_from_uri):
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);
+}
void ev_transition_animation_paint (EvTransitionAnimation *animation,
cairo_t *cr,
GdkRectangle page_area);
+gboolean ev_transition_animation_ready (EvTransitionAnimation *animation);
+
G_END_DECLS
cairo_t *cr;
gint i;
- if (view->animation) {
+ if (view->animation && ev_transition_animation_ready (view->animation)) {
GdkRectangle page_area;
GtkBorder border;
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;