[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - slideshow/source
GülÅah Köse (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jan 5 08:31:38 UTC 2021
slideshow/source/engine/effectrewinder.cxx | 23 +++++++++++++++--------
slideshow/source/engine/effectrewinder.hxx | 1 +
2 files changed, 16 insertions(+), 8 deletions(-)
New commits:
commit 09c4b4dbf7bb1dc4821455b0e0f549954f1c4002
Author: Gülşah Köse <gulsah.kose at collabora.com>
AuthorDate: Fri Jan 1 18:09:29 2021 +0300
Commit: Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Tue Jan 5 09:30:58 2021 +0100
tdf#136278 Follow-up Check when the eventqueue needs to be emptied.
Follow up commit a63caf49958b40e33e0d7aaedbe6424f78ecdc46
Change-Id: I90b94f6aee1e1fe62f61ca20a75fd59e2a12d5da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108559
Tested-by: Jenkins
Reviewed-by: Gülşah Köse <gulsah.kose at collabora.com>
(cherry picked from commit b83c16834792874524019495662b2f23a066611c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108593
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/slideshow/source/engine/effectrewinder.cxx b/slideshow/source/engine/effectrewinder.cxx
index 183e14885e6f..55666b752bc4 100644
--- a/slideshow/source/engine/effectrewinder.cxx
+++ b/slideshow/source/engine/effectrewinder.cxx
@@ -85,7 +85,8 @@ EffectRewinder::EffectRewinder (
mpAsynchronousRewindEvent(),
mxCurrentAnimationRootNode(),
mxCurrentSlide(),
- mbNonUserTriggeredMainSequenceEffectSeen(false)
+ mbNonUserTriggeredMainSequenceEffectSeen(false),
+ mbHasAdvancedTimeSetting(false)
{
initialize();
}
@@ -161,6 +162,15 @@ void EffectRewinder::setCurrentSlide (
const uno::Reference<drawing::XDrawPage>& xSlide)
{
mxCurrentSlide = xSlide;
+
+ // Check if the current slide has advance time setting or not
+ uno::Reference< beans::XPropertySet > xPropSet( mxCurrentSlide, uno::UNO_QUERY );
+ sal_Int32 nChange(0);
+
+ if( xPropSet.is())
+ getPropertyValue( nChange, xPropSet, "Change");
+
+ mbHasAdvancedTimeSetting = nChange;
}
bool EffectRewinder::rewind (
@@ -180,6 +190,9 @@ bool EffectRewinder::rewind (
// Abort (and skip over the rest of) any currently active animation.
mrUserEventQueue.callSkipEffectEventHandler();
+ if (!mbHasAdvancedTimeSetting)
+ mrEventQueue.forceEmpty();
+
const int nSkipCount (mnMainSequenceEffectCount - 1);
if (nSkipCount < 0)
{
@@ -418,13 +431,7 @@ void EffectRewinder::asynchronousRewind (
// when the slide is shown.
mbNonUserTriggeredMainSequenceEffectSeen = false;
- uno::Reference< beans::XPropertySet > xPropSet( mxCurrentSlide, uno::UNO_QUERY );
- sal_Int32 nChange(0);
-
- if( xPropSet.is())
- getPropertyValue( nChange, xPropSet, "Change");
-
- if (!nChange)
+ if (!mbHasAdvancedTimeSetting)
mrEventQueue.forceEmpty();
if (mbNonUserTriggeredMainSequenceEffectSeen)
diff --git a/slideshow/source/engine/effectrewinder.hxx b/slideshow/source/engine/effectrewinder.hxx
index 4844991b8333..8084b03f6248 100644
--- a/slideshow/source/engine/effectrewinder.hxx
+++ b/slideshow/source/engine/effectrewinder.hxx
@@ -129,6 +129,7 @@ private:
::std::shared_ptr<ScreenUpdater::UpdateLock> mpPaintLock;
bool mbNonUserTriggeredMainSequenceEffectSeen;
+ bool mbHasAdvancedTimeSetting; // Slide has advanced time setting or not.
void initialize();
More information about the Libreoffice-commits
mailing list