From cc11082706b3193990d82dbb96e948f33a5bbb9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCgler?= Date: Fri, 2 May 2008 23:30:17 +0000 Subject: [PATCH] Keep internal time and progress accounting in sync. Spotted by Martin Graesslin. BUG: 161434 CCMAIL: ubuntu@martin-graesslin.com svn path=/trunk/KDE/kdebase/workspace/; revision=803465 --- lib/kwineffects.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/kwineffects.cpp b/lib/kwineffects.cpp index 140bb67eea..9497b4773c 100644 --- a/lib/kwineffects.cpp +++ b/lib/kwineffects.cpp @@ -925,11 +925,13 @@ double TimeLine::valueForTime(const int msec) const void TimeLine::addTime(const int msec) { m_Time = qMin(m_Duration, m_Time + msec); + m_Progress = m_Time / m_Duration; } void TimeLine::removeTime(const int msec) { m_Time = qMax(0, m_Time - msec); + m_Progress = m_Time / m_Duration; } void TimeLine::setProgress(const double progress) @@ -946,6 +948,7 @@ double TimeLine::progress() const void TimeLine::addProgress(const double progress) { m_Progress += progress; + m_Time = (int)(m_Duration * m_Progress); } void TimeLine::setCurveShape(CurveShape curveShape)