Fix for bug 2217
authorteknolog
Sat, 13 Mar 2010 16:53:21 +0000
changeset 53 b778853e60a7
parent 52 15f885e4eb92
child 54 21ffe6559297
Fix for bug 2217
engine/src/FeedEngine.cpp
engine/src/ShowEngine.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
--- 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)