Fix for regression in icon handling. Minor fix for trailing backslash in podcast dir in settings pane. New udeb SISs.
authorteknolog
Sat, 03 Apr 2010 16:03:09 +0100
changeset 106 83752b9e3cb6
parent 105 236022094302
child 107 af6475fdf8d6
Fix for regression in icon handling. Minor fix for trailing backslash in podcast dir in settings pane. New udeb SISs.
application/sis/podcatcher_udeb.sis
application/sis/podcatcher_udeb_signed.sis
application/src/PodcastSettingsView.cpp
engine/src/FeedEngine.cpp
engine/src/FeedInfo.cpp
Binary file application/sis/podcatcher_udeb.sis has changed
Binary file application/sis/podcatcher_udeb_signed.sis has changed
--- 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();
 				}
--- 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;
--- 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());
 	}