diff -r f759b6186ab5 -r 2b4b06654caa imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailscaletask.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailscaletask.cpp Thu Jul 15 18:59:26 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailscaletask.cpp Thu Aug 19 10:13:51 2010 +0300 @@ -42,14 +42,15 @@ aBitmap, const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop, TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri, const TThumbnailSize aThumbnailSize, const TInt64 aModified, - TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId) + TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId, + const TBool aImportVirtual) { // We take ownership of aBitmap CleanupStack::PushL( aBitmap ); CThumbnailScaleTask* self = new( ELeave )CThumbnailScaleTask( aProcessor, aServer, aFilename, aBitmap, aOriginalSize, aTargetSize, aCrop, aDisplayMode, aPriority, aTargetUri, aThumbnailSize, aModified, - aBitmapToPool, aEXIF, aRequestId); + aBitmapToPool, aEXIF, aRequestId, aImportVirtual); CleanupStack::Pop( aBitmap ); CleanupStack::PushL( self ); self->ConstructL(); @@ -68,12 +69,13 @@ const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop, TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri, const TThumbnailSize aThumbnailSize, const TInt64 aModified, - TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId): + TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId, + const TBool aVirtualUri): CThumbnailTask( aProcessor, aPriority ), iServer( aServer ), iOwnBitmap( aBitmap ), iOriginalSize( aOriginalSize ), iTargetSize(aTargetSize), iTargetSizeTN( aTargetSize ), iCrop( aCrop ), iDisplayMode( aDisplayMode ), iFilename( aFilename ), iTargetUri( aTargetUri ), iThumbnailSize(aThumbnailSize), iModified(aModified), - iBitmapToPool(aBitmapToPool), iEXIF(aEXIF) + iBitmapToPool(aBitmapToPool), iEXIF(aEXIF), iVirtualUri( aVirtualUri ) { TN_DEBUG2( "CThumbnailScaleTask(0x%08x)::CThumbnailScaleTask()", this ); @@ -119,6 +121,7 @@ // Scaled bitmap is owned by us, delete now delete iScaledBitmap; + iScaledBitmap = NULL; } @@ -348,17 +351,20 @@ if (iFilename != KNullDesC && iFilename.CompareF(iTargetUri) == 0) { // filename and target URI match, so thumb created from associated path - iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, ETrue ); + iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, + iThumbnailSize, iModified, !iVirtualUri, !iVirtualUri ); } else { // thumb not created from associated path - iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, EFalse, EFalse ); + iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, + iThumbnailSize, iModified, !iVirtualUri, EFalse ); } } else if (iFilename != KNullDesC) { - iServer.StoreThumbnailL( iFilename, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, ETrue ); + iServer.StoreThumbnailL( iFilename, iScaledBitmap, iOriginalSize, iCrop, + iThumbnailSize, iModified, !iVirtualUri, !iVirtualUri ); } }