diff -r c06c2a75bb57 -r a8538f50e2ba engine/src/FeedEngine.cpp --- a/engine/src/FeedEngine.cpp Wed Mar 31 15:36:43 2010 +0100 +++ b/engine/src/FeedEngine.cpp Wed Mar 31 16:09:11 2010 +0100 @@ -517,7 +517,7 @@ time.HomeTime(); iActiveFeed->SetLastUpdated(time); iActiveFeed->SetLastError(aError); - NotifyFeedUpdateCompleteL(aError); + NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError); } break; case EUpdatingFeed: @@ -587,8 +587,8 @@ }break; } - NotifyFeedUpdateCompleteL(aError); - + NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError); + // we will wait until the image has been downloaded to start the next feed update. if (iClientState == EIdle) { @@ -599,8 +599,16 @@ { // change client state to not updating iClientState = EIdle; - - NotifyFeedUpdateCompleteL(aError); + if(aError == KErrNone) + { + if( BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), iActiveFeed->ImageFileName() )) + { + // If this fails, no reason to worry + TRAP_IGNORE(iPodcastModel.ImageHandler().LoadFileAndScaleL(iActiveFeed->FeedIcon(), iActiveFeed->ImageFileName(), TSize(64,56), *iActiveFeed, iActiveFeed->Uid())); + } + } + + NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError); UpdateNextFeedL(); }break; case ESearching: @@ -629,13 +637,12 @@ DP("CFeedEngine::CompleteL END"); } -void CFeedEngine::NotifyFeedUpdateCompleteL(TInt aError) +void CFeedEngine::NotifyFeedUpdateComplete(TInt aFeedUid, TInt aError) { - DP("CFeedEngine::NotifyFeedUpdateComplete"); - DBUpdateFeedL(*iActiveFeed); + DP("CFeedEngine::NotifyFeedUpdateComplete"); for (TInt i=0;iFeedDownloadFinishedL(iAutoUpdatedInitiator?MFeedEngineObserver::EFeedAutoUpdate:MFeedEngineObserver::EFeedManualUpdate, iActiveFeed->Uid(), aError)); + TRAP_IGNORE(iObservers[i]->FeedDownloadFinishedL(MFeedEngineObserver::EFeedAutoUpdate, aFeedUid, aError)); } }