diff -r 71da52165949 -r ce1c7ad1f18b photosgallery/viewframework/medialists/src/glxcachemanager.cpp --- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Fri Mar 12 15:42:44 2010 +0200 +++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Mon Mar 15 12:40:30 2010 +0200 @@ -320,7 +320,7 @@ // HandleCollectionMediaL // ----------------------------------------------------------------------------- // -void CGlxCacheManager::HandleCollectionMediaL(const TGlxIdSpaceId& aIdSpaceId, const CMPXMedia& aMedia, TInt aError) +void CGlxCacheManager::HandleCollectionMediaL(const TGlxIdSpaceId& aIdSpaceId, const CMPXMedia& aMedia, TInt aError, TBool aRequestNextAttr) { TRACER("CGlxCacheManager::HandleCollectionMediaL"); @@ -362,8 +362,10 @@ CleanupStack::PopAndDestroy( &users ); } - - MaintainCacheL(); + if ( aRequestNextAttr ) + { + MaintainCacheL(); + } } // ----------------------------------------------------------------------------- @@ -647,6 +649,8 @@ } else { + GLX_DEBUG1("GENERAL NON IV CASE - Fetch TN"); + GLX_DEBUG2("itemId = [%d] ", itemId.Value()); CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(item.Uri(), 0); iThumbnailRequestIds.AppendL(TLoadingTN( iTnEngine->GetThumbnailL(*source), @@ -722,7 +726,17 @@ RFile64& imageHandle = iImageViewerInstance->ImageFileHandle(); if ( &imageHandle ) { - fileName.Append(imageHandle.FullName(fileName)); + if (iImageViewerInstance->IsPrivateGif()) + { + __ASSERT_DEBUG(iImageViewerInstance->ImageUri(), Panic(EGlxPanicNullPointer)); + fileName.Append( + iImageViewerInstance->ImageUri()->Des()); + } + else + { + fileName.Append(imageHandle.FullName( + fileName)); + } } else { @@ -932,6 +946,11 @@ else if ( iRequestedAttrs[i] == KGlxMediaGeneralFramecount ) { TInt fcount = 1; + if(errInImage == KErrNone) + { + fcount = iReader->GetFrameCount(); + } + GLX_DEBUG2("Imageviewer Collection framecount(%d)", fcount); iMPXMedia->SetTObjectValueL(KGlxMediaGeneralFramecount, fcount); } else if ( iRequestedAttrs[i] == KMPXMediaGeneralComment ) @@ -1499,17 +1518,12 @@ iMPXMedia->SetNoNewLCObjectL( TMPXAttribute(KGlxMediaIdThumbnail, attributeId), tnAttribute); CleanupStack::PopAndDestroy(tnAttribute); - - HandleCollectionMediaL(iThumbnailRequestIds[reqIndex].iSpaceId, - *iMPXMedia, aError); - } - else - { - HandleCollectionMediaL(iThumbnailRequestIds[reqIndex].iSpaceId, - *iMPXMedia, aError); + } - if (aQuality) + HandleCollectionMediaL(iThumbnailRequestIds[reqIndex].iSpaceId, + *iMPXMedia, aError, aQuality); + if (aQuality) { FindLoadingById(aId, ETrue); }