catch when items are scheduled for deletion and are in the next items up in the animation cycle. certainy a potential problem, and possibly/likely the cause of 198338
CCBUG:198338 svn path=/trunk/KDE/kdelibs/; revision=990658
This commit is contained in:
parent
775bbe63d9
commit
e1f9f6739a
16
animator.cpp
16
animator.cpp
@ -622,6 +622,10 @@ void Animator::timerEvent(QTimerEvent *event)
|
||||
//kDebug() << "timeEvent, elapsed time: " << elapsed;
|
||||
|
||||
foreach (AnimationState *state, d->animatedItems) {
|
||||
if (d->animatedItemsToDelete.contains(state)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (state->currentInterval <= elapsed) {
|
||||
// we need to step forward!
|
||||
state->currentFrame +=
|
||||
@ -648,6 +652,10 @@ void Animator::timerEvent(QTimerEvent *event)
|
||||
}
|
||||
|
||||
foreach (MovementState *state, d->movingItems) {
|
||||
if (d->movingItemsToDelete.contains(state)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (state->currentInterval <= elapsed) {
|
||||
// we need to step forward!
|
||||
state->currentFrame +=
|
||||
@ -675,6 +683,10 @@ void Animator::timerEvent(QTimerEvent *event)
|
||||
}
|
||||
|
||||
foreach (ElementAnimationState *state, d->animatedElements) {
|
||||
if (d->animatedElementsToDelete.contains(state)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (state->currentFrame == state->frames) {
|
||||
//kDebug() << "skipping" << state->id << "as it is already at frame"
|
||||
// << state->currentFrame << "of" << state->frames;
|
||||
@ -711,6 +723,10 @@ void Animator::timerEvent(QTimerEvent *event)
|
||||
}
|
||||
|
||||
foreach (CustomAnimationState *state, d->customAnims) {
|
||||
if (d->customAnimsToDelete.contains(state)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (state->currentInterval <= elapsed) {
|
||||
// advance the frame
|
||||
state->currentFrame +=
|
||||
|
Loading…
x
Reference in New Issue
Block a user