diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2009-06-08 14:24:32 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2009-06-08 14:24:32 (GMT) |
commit | d337cbe9269e142f0b70e12a8c58296fe34b4892 (patch) | |
tree | 8c7e0e73ba37ce41d080d8f2179068e2b6b5c243 /libview/ev-transition-animation.c | |
parent | 297ac5b454e37c631fe7379ce89dd3a7ffeb9ec9 (diff) |
[libview] Fix page transitions in presentation mode
Set the destination surface as soon as possible when starting a page
transition animation. Fixes bgo#583652 and bgo#581881.
Diffstat (limited to 'libview/ev-transition-animation.c')
-rw-r--r-- | libview/ev-transition-animation.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libview/ev-transition-animation.c b/libview/ev-transition-animation.c index efcb509..7e33023 100644 --- a/libview/ev-transition-animation.c +++ b/libview/ev-transition-animation.c @@ -635,6 +635,9 @@ ev_transition_animation_set_origin_surface (EvTransitionAnimation *animation, priv = EV_TRANSITION_ANIMATION_GET_PRIVATE (animation); + if (priv->origin_surface == origin_surface) + return; + surface = cairo_surface_reference (origin_surface); if (priv->origin_surface) @@ -658,6 +661,9 @@ ev_transition_animation_set_dest_surface (EvTransitionAnimation *animation, priv = EV_TRANSITION_ANIMATION_GET_PRIVATE (animation); + if (priv->dest_surface == dest_surface) + return; + surface = cairo_surface_reference (dest_surface); if (priv->dest_surface) |