diff -r 554d9980157f -r 223f270fa7ff engine/src/FeedInfo.cpp --- a/engine/src/FeedInfo.cpp Sun Apr 04 00:21:57 2010 +0100 +++ b/engine/src/FeedInfo.cpp Sun Apr 04 15:54:17 2010 +0100 @@ -52,7 +52,9 @@ copy->SetLinkL(Link()); copy->SetBuildDate(BuildDate()); copy->SetLastUpdated(LastUpdated()); - copy->iFeedIcon->Duplicate(iFeedIcon->Handle()); + if (iFeedIcon) { + copy->SetFeedIcon(iFeedIcon); + } copy->SetImageFileNameL(ImageFileName(), NULL); if(CustomTitle()) { @@ -64,6 +66,7 @@ CleanupStack::Pop(copy); return copy; } + CFeedInfo::CFeedInfo() { iCustomTitle = EFalse; @@ -82,7 +85,7 @@ void CFeedInfo::ConstructL() { - iFeedIcon = new (ELeave) CFbsBitmap; + //iFeedIcon = new (ELeave) CFbsBitmap; } EXPORT_C const TDesC& CFeedInfo::Url() const @@ -195,6 +198,7 @@ EXPORT_C void CFeedInfo::SetImageFileNameL(const TDesC& aFileName, CPodcastModel* aPodcastModel) { + DP1("CFeedInfo::SetImageFileNameL BEGIN, aFileName=%S", &aFileName); TFileName cacheFileName; if (iImageFileName) @@ -209,15 +213,21 @@ cacheFileName.Append(parser.Name()); cacheFileName.Append(KMbmExtension()); - if( iFeedIcon->SizeInPixels() == TSize(0,0) && BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), cacheFileName) ) + if (iFeedIcon) { + delete iFeedIcon; + } + + if( BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), cacheFileName) ) { iFeedIcon = CEikonEnv::Static()->CreateBitmapL(cacheFileName, 0); } else if(aPodcastModel && BaflUtils::FileExists(CEikonEnv::Static()->FsSession(), ImageFileName() )) { // If this fails, no reason to worry + iFeedIcon = new CFbsBitmap(); TRAP_IGNORE(aPodcastModel->ImageHandler().LoadFileAndScaleL(FeedIcon(), ImageFileName(), TSize(64,56), *this, Uid())); - } + } + DP("CFeedInfo::SetImageFileNameL END"); } EXPORT_C TBool CFeedInfo::CustomTitle() const