diff -r 1b758917cafc -r d721605b30d0 idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp Wed Jun 09 09:29:04 2010 +0300 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp Mon Jun 21 15:27:11 2010 +0300 @@ -252,15 +252,22 @@ // void CXnRootData::LoadRemainingViews() { - if ( iFlags.IsClear( EIsDispose ) && !AllViewsLoaded() ) + if ( iFlags.IsClear( EIsDispose ) ) { - iLoadForward = ETrue; - - iLoadTimer->Cancel(); - - iLoadTimer->Start( TTimeIntervalMicroSeconds32( KScheduleInterval ), - TTimeIntervalMicroSeconds32( KScheduleInterval ), - TCallBack( RunLoadL, this ) ); + if ( !AllViewsLoaded() ) + { + iLoadForward = ETrue; + + iLoadTimer->Cancel(); + + iLoadTimer->Start( TTimeIntervalMicroSeconds32( KScheduleInterval ), + TTimeIntervalMicroSeconds32( KScheduleInterval ), + TCallBack( RunLoadL, this ) ); + } + else + { + iManager.NotifyAllViewsLoadedL(); + } } } @@ -546,7 +553,8 @@ if ( self->AllViewsLoaded() ) { - self->iLoadTimer->Cancel(); + self->iLoadTimer->Cancel(); + self->iManager.NotifyAllViewsLoadedL(); } }