# HG changeset patch # User teknolog # Date 1268499201 0 # Node ID b778853e60a792acd9ff68bf8dc0eaa297479b60 # Parent 15f885e4eb92daf6615c6c938141456f72982bbc Fix for bug 2217 diff -r 15f885e4eb92 -r b778853e60a7 engine/src/FeedEngine.cpp --- a/engine/src/FeedEngine.cpp Fri Mar 12 09:50:01 2010 +0000 +++ b/engine/src/FeedEngine.cpp Sat Mar 13 16:53:21 2010 +0000 @@ -368,7 +368,7 @@ if (iSortedFeeds[i]->Uid() == aUid) { iPodcastModel.ShowEngine().DeleteAllShowsByFeedL(aUid); - + CFeedInfo* feedToRemove = iSortedFeeds[i]; //delete the image file if it exists diff -r 15f885e4eb92 -r b778853e60a7 engine/src/ShowEngine.cpp --- a/engine/src/ShowEngine.cpp Fri Mar 12 09:50:01 2010 +0000 +++ b/engine/src/ShowEngine.cpp Sat Mar 13 16:53:21 2010 +0000 @@ -1080,6 +1080,13 @@ for (TInt i = count - 1; i >= 0; i--) { + if (iShowDownloading && iShowDownloading->Uid() == array[i]->Uid()) + { + // trying to delete the active download + RemoveDownloadL(iShowDownloading->Uid()); + } + + // delete downloaded file if (array[i]->FileName().Length() > 0) { if (aDeleteFiles) @@ -1089,7 +1096,15 @@ } } array.ResetAndDestroy(); + + // delete all shows from DB DBDeleteAllShowsByFeed(aFeedUid); + + // this will clear out deleted shows from the download queue + DBGetAllDownloadsL(array); + array.ResetAndDestroy(); + + NotifyDownloadQueueUpdatedL(); } EXPORT_C void CShowEngine::DeleteOldShowsByFeed(TUint aFeedUid)