diff --git a/libimageviewer/slideshow/imageanimation.cpp b/libimageviewer/slideshow/imageanimation.cpp index af488051..35cd5a56 100644 --- a/libimageviewer/slideshow/imageanimation.cpp +++ b/libimageviewer/slideshow/imageanimation.cpp @@ -117,6 +117,7 @@ class LibImageAnimationPrivate : public QWidget void startSingleNextAnimation(); void startSinglePreAnimation(); void startStatic(); + void forceStopCurrentAnimation(); void endSlide() { if (m_staticTimer) { @@ -534,24 +535,20 @@ void LibImageAnimationPrivate::startAnimation() void LibImageAnimationPrivate::startSingleNextAnimation() { - if (m_isAnimationIng) { - m_isAnimationIng = false; - } else { - setImage1(m_imageName2); - setImage2(queue->jumpTonext()); - startAnimation(); - } + if (m_isAnimationIng) + forceStopCurrentAnimation(); + setImage1(m_imageName2); + setImage2(queue->jumpTonext()); + startAnimation(); } void LibImageAnimationPrivate::startSinglePreAnimation() { - if (m_isAnimationIng) { - m_isAnimationIng = false; - } else { - setImage1(m_imageName2); - setImage2(queue->jumpTopre()); - startAnimation(); - } + if (m_isAnimationIng) + forceStopCurrentAnimation(); + setImage1(m_imageName2); + setImage2(queue->jumpTopre()); + startAnimation(); } void LibImageAnimationPrivate::startStatic() @@ -565,6 +562,20 @@ void LibImageAnimationPrivate::startStatic() m_staticTimer->start(SLIDER_TIME); } +void LibImageAnimationPrivate::forceStopCurrentAnimation() +{ + if (m_continuousanimationTimer) { + m_continuousanimationTimer->stop(); + m_continuousanimationTimer->setInterval(0); + m_factor = 0.0f; + m_isAnimationIng = false; + } + if (m_staticTimer) { + m_staticTimer->stop(); + m_staticTimer->setInterval(0); + } +} + void LibImageAnimationPrivate::onContinuousAnimationTimer() { Q_Q(LibImageAnimation); diff --git a/libimageviewer/unionimage/unionimage.cpp b/libimageviewer/unionimage/unionimage.cpp index 49e89016..9d94ac13 100644 --- a/libimageviewer/unionimage/unionimage.cpp +++ b/libimageviewer/unionimage/unionimage.cpp @@ -24,7 +24,7 @@ #include "unionimage/imageutils.h" extern "C" { -#include "3rdparty/tiff-tools/converttiff.h" +#include "../../3rdparty/tiff-tools/converttiff.h" } #include