# HG changeset patch # User teknolog # Date 1270306989 -3600 # Node ID 83752b9e3cb6a010b2a9c35d76c44c96208fb2c7 # Parent 2360220943029e0988b26be07d53a2a2474c7bb1 Fix for regression in icon handling. Minor fix for trailing backslash in podcast dir in settings pane. New udeb SISs. diff -r 236022094302 -r 83752b9e3cb6 application/sis/podcatcher_udeb.sis Binary file application/sis/podcatcher_udeb.sis has changed diff -r 236022094302 -r 83752b9e3cb6 application/sis/podcatcher_udeb_signed.sis Binary file application/sis/podcatcher_udeb_signed.sis has changed diff -r 236022094302 -r 83752b9e3cb6 application/src/PodcastSettingsView.cpp --- a/application/src/PodcastSettingsView.cpp Sat Apr 03 14:54:19 2010 +0100 +++ b/application/src/PodcastSettingsView.cpp Sat Apr 03 16:03:09 2010 +0100 @@ -301,11 +301,18 @@ startFolder, NULL, NULL, *title)) { _LIT(KPodcastsDir, "Podcasts"); - if (selectedFolder.Find(KPodcastsDir) != selectedFolder.Length()-9) + TInt pos = selectedFolder.Find(KPodcastsDir); + if (pos == KErrNotFound || pos != selectedFolder.Length()-9) { // append "Podcasts" if the folder isn't already called this selectedFolder.Append(KPodcastsDir); } + + if (selectedFolder[selectedFolder.Length()-1] != '\\') + { + selectedFolder.Append(_L("\\")); + } + iShowDir.Copy(selectedFolder); LoadSettingsL(); } diff -r 236022094302 -r 83752b9e3cb6 engine/src/FeedEngine.cpp --- a/engine/src/FeedEngine.cpp Sat Apr 03 14:54:19 2010 +0100 +++ b/engine/src/FeedEngine.cpp Sat Apr 03 16:03:09 2010 +0100 @@ -216,12 +216,13 @@ } iActiveFeed = GetFeedInfoByUid(aFeedUid); - iCatchupCounter = 0; + iCancelRequested = EFalse; if (iActiveFeed->LastUpdated() == 0) { iCatchupMode = ETrue; + iCatchupCounter = 0; } iActiveFeed->SetLastError(KErrNone); @@ -534,9 +535,6 @@ { case EUpdatingFeed: { - // Parse the feed. We need to trap this call since it could leave and then - // the whole update chain will be broken - // change client state iClientState = EIdle; switch (aError) { @@ -557,7 +555,10 @@ iActiveFeed->SetLastUpdated(time); if( aError == KErrNone) - { + { + // Parse the feed. We need to trap this call since it could leave and then + // the whole update chain will be broken + // change client state TRAPD(parserErr, iParser->ParseFeedL(iUpdatingFeedFileName, iActiveFeed, iPodcastModel.SettingsEngine().MaxListItems())); if(parserErr) @@ -619,7 +620,7 @@ TRAP_IGNORE(iPodcastModel.ImageHandler().LoadFileAndScaleL(iActiveFeed->FeedIcon(), iActiveFeed->ImageFileName(), TSize(64,56), *iActiveFeed, iActiveFeed->Uid())); } } - + DBUpdateFeedL(*iActiveFeed); NotifyFeedUpdateComplete(iActiveFeed->Uid(), aError); UpdateNextFeedL(); }break; diff -r 236022094302 -r 83752b9e3cb6 engine/src/FeedInfo.cpp --- a/engine/src/FeedInfo.cpp Sat Apr 03 14:54:19 2010 +0100 +++ b/engine/src/FeedInfo.cpp Sat Apr 03 16:03:09 2010 +0100 @@ -247,6 +247,11 @@ EXPORT_C void CFeedInfo::SetFeedIcon(CFbsBitmap* aBitmapToClone) { + if (iFeedIcon) + { + delete iFeedIcon; + } + iFeedIcon->Duplicate(aBitmapToClone->Handle()); }