Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2008-02-29 09:23:30 (GMT)
committer Carlos Garnacho <carlosg@src.gnome.org>2008-02-29 09:23:30 (GMT)
commitf51872613abaaa42c716e2fe6a2e4695c529dc4b (patch)
tree2a45fde09670e8005b22807ff847f3c51372be1d /shell
parentcaf531bb6f29b940687528ace8c4b2c77f925a05 (diff)
Added. Returns whether the animation has everything necessary to run. Do
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. svn path=/trunk/; revision=2933
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-transition-animation.c12
-rw-r--r--shell/ev-transition-animation.h2
-rw-r--r--shell/ev-view.c11
3 files changed, 21 insertions, 4 deletions
diff --git a/shell/ev-transition-animation.c b/shell/ev-transition-animation.c
index 5bea280..148b4c7 100644
--- a/shell/ev-transition-animation.c
+++ b/shell/ev-transition-animation.c
@@ -668,3 +668,15 @@ ev_transition_animation_set_dest_surface (EvTransitionAnimation *animation,
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);
+}
diff --git a/shell/ev-transition-animation.h b/shell/ev-transition-animation.h
index b07619f..522caf2 100644
--- a/shell/ev-transition-animation.h
+++ b/shell/ev-transition-animation.h
@@ -60,6 +60,8 @@ gint ev_transition_animation_get_page_to (EvTransition
void ev_transition_animation_paint (EvTransitionAnimation *animation,
cairo_t *cr,
GdkRectangle page_area);
+gboolean ev_transition_animation_ready (EvTransitionAnimation *animation);
+
G_END_DECLS
diff --git a/shell/ev-view.c b/shell/ev-view.c
index 3b7a60d..129d87c 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -2483,7 +2483,7 @@ ev_view_expose_event (GtkWidget *widget,
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 @@ draw_one_page (EvView *view,
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;