diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-12-06 13:19:57 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-12-06 16:44:56 +0100 |
commit | f820f6eb6036197bbb53e2d5e4bf4d5341ad280d (patch) | |
tree | 7e0fa139372840a7a095fc677c406c94a0aadfca /slideshow | |
parent | b3d0b00f76dc851bc699742af19aee2340012026 (diff) |
Resolves: tdf#121942 action deactivated twice
Change-Id: I25b1ed89b8d0e7a7c0e36c621a43644bc2b4aa7b
Reviewed-on: https://gerrit.libreoffice.org/64708
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'slideshow')
-rw-r--r-- | slideshow/source/engine/animationnodes/animationcommandnode.cxx | 7 | ||||
-rw-r--r-- | slideshow/source/engine/animationnodes/animationcommandnode.hxx | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/slideshow/source/engine/animationnodes/animationcommandnode.cxx b/slideshow/source/engine/animationnodes/animationcommandnode.cxx index 3bd05db936b2..1b764b1c5a4a 100644 --- a/slideshow/source/engine/animationnodes/animationcommandnode.cxx +++ b/slideshow/source/engine/animationnodes/animationcommandnode.cxx @@ -38,6 +38,7 @@ AnimationCommandNode::AnimationCommandNode( uno::Reference<animations::XAnimatio ::std::shared_ptr<BaseContainerNode> const& pParent, NodeContext const& rContext ) : BaseNode( xNode, pParent, rContext ), + mbToggled(false), mpShape(), mxCommandNode( xNode, css::uno::UNO_QUERY_THROW ) { @@ -80,12 +81,13 @@ void AnimationCommandNode::activate_st() // the command toggles the pause status on a media object case EffectCommands::TOGGLEPAUSE: { - if( mpShape ) + if (mpShape) { if( mpShape->isPlaying() ) mpShape->pause(); else mpShape->play(); + mbToggled = true; } break; } @@ -115,12 +117,13 @@ void AnimationCommandNode::deactivate_st( NodeState /*eDestState*/ ) // the command toggles the pause status on a media object case EffectCommands::TOGGLEPAUSE: { - if( mpShape ) + if (mpShape && mbToggled) { if( mpShape->isPlaying() ) mpShape->pause(); else mpShape->play(); + mbToggled = false; } break; } diff --git a/slideshow/source/engine/animationnodes/animationcommandnode.hxx b/slideshow/source/engine/animationnodes/animationcommandnode.hxx index cf753e001949..1aacd1b6a071 100644 --- a/slideshow/source/engine/animationnodes/animationcommandnode.hxx +++ b/slideshow/source/engine/animationnodes/animationcommandnode.hxx @@ -50,6 +50,7 @@ private: virtual bool hasPendingAnimation() const override; private: + bool mbToggled; IExternalMediaShapeBaseSharedPtr mpShape; css::uno::Reference<css::animations::XCommand > mxCommandNode; }; |