diff -r fcdfafb36fe7 -r aecbbf00d063 uifw/AvKon/src/AknBitmapAnimation.cpp --- a/uifw/AvKon/src/AknBitmapAnimation.cpp Thu Aug 19 10:11:06 2010 +0300 +++ b/uifw/AvKon/src/AknBitmapAnimation.cpp Tue Aug 31 15:28:30 2010 +0300 @@ -557,7 +557,7 @@ LOCAL_C TInt WaitForUiEffect(TAny* aArg) { CAknBitmapAnimation* self = (CAknBitmapAnimation*)aArg; - TRAP_IGNORE(self->StartAnimationL()); + self->StartAnimationL(); return EFalse; } #endif @@ -682,76 +682,3 @@ CAknBitmapAnimation* ptr = (CAknBitmapAnimation*)aPtr; return ptr->AnimationHasStarted(ETrue); } - -EXPORT_C void CAknBitmapAnimation::StartAnimationL( TBool aKeepLastFrame ) - { -#ifdef _DEBUG - RDebug::Print(_L("CAknBitmapAnimation::StartAnimationL instance:%x"),this); -#endif //_DEBUG - - if ( iFlags & EAnimationSingleFrame ) - { -#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS - iFlags &= ~EWaitingForUiEffect; -#endif - iFlags |= EAnimationStarted; - DrawDeferred(); - return; - } - -#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS - TInt redirectstatus = 0; - RProperty::Get(KPSUidAvkonDomain, KAknTfxServerRedirectionStatus, redirectstatus ); - TBool isredirected = (redirectstatus & ETfxScreenRedirected); - - // this is executed as long as transition is running, then the aknbitmapanimation - // switches to "normal" mode and WaitForUiEffect callback isn't called anymore - if( CAknTransitionUtils::GetData(EDontAnimateBitmaps) || isredirected ) - { - if( !(iFlags & EAnimationTimerStarted) && !( iFlags & EWaitingForUiEffect ) ) - { - iFlags |= EWaitingForUiEffect; - TCallBack callback(WaitForUiEffect, this); - iTimer->Cancel(); - iTimer->Start(KWaitForUiEffectDelay, KWaitForUiEffectDelay, callback); - } - } - else - { - iFlags &= ~EWaitingForUiEffect; -#endif - if (!IsInitialisationCompleted()) - { - CompleteAnimationInitialisationL(); - } - else - { - // Otherwise, update animation data since it may have changed - iAnimation.SetBitmapAnimDataL(*iBitmapAnimData); - // This call updates the cached background frame content for the animation. - // It is also very important to call this function only after calling - // iAnimation.SetBitmapAnimDataL() - iAnimation.SetPositionL(iPosition); - } - if( aKeepLastFrame ) - { - iAnimation.StartAndKeepLastFrameL(); - } - else - { - iAnimation.StartL(); - } - - if (!(iFlags & EAnimationTimerStarted)) - { // if animation timer has not started, start timer - TCallBack callback(AnimationStartedCallback, this); -#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS - iTimer->Cancel(); //when popup animations are enabled the timer might already be started -#endif //RD_UI_TRANSITION_EFFECTS_POPUPS - iTimer->Start(iBitmapAnimData->DurationInMilliSeconds()*KConversionFromMillisecondsToMicroseconds/2, 1/*just the once*/, callback); // a delay of half the animation time - iFlags |= EAnimationTimerStarted; - } -#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS - } -#endif - }