summaryrefslogtreecommitdiffstats
path: root/filter
diff options
context:
space:
mode:
Diffstat (limited to 'filter')
-rw-r--r--filter/source/svg/presentation_engine.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index 528de4988866..0de9bea34ed3 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -11110,6 +11110,7 @@ function SlideShow()
this.eDirection = FORWARD;
this.bIsIdle = true;
this.bIsEnabled = true;
+ this.bIsSkipping = false;
this.bNoSlideTransition = false;
}
@@ -11236,12 +11237,26 @@ SlideShow.prototype.nextEffect = function()
SlideShow.prototype.skipCurrentEffect = function()
{
+ if( this.bIsSkipping )
+ return;
+
+ this.bIsSkipping = true;
this.aEventMultiplexer.notifySkipEffectEvent();
this.update();
+ this.bIsSkipping = false;
};
SlideShow.prototype.skipEffect = function()
{
+ if( this.bIsSkipping )
+ return true;
+
+ if( this.isRunning() )
+ {
+ this.skipCurrentEffect();
+ return true;
+ }
+
if( !this.aNextEffectEventArray )
return false;
@@ -11249,11 +11264,13 @@ SlideShow.prototype.skipEffect = function()
if( this.nCurrentEffect >= this.aNextEffectEventArray.size() )
return false;
+ this.bIsSkipping = true;
this.eDirection = FORWARD;
this.aNextEffectEventArray.at( this.nCurrentEffect ).fire();
this.aEventMultiplexer.notifySkipEffectEvent();
++this.nCurrentEffect;
this.update();
+ this.bIsSkipping = false;
return true;
};