imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailscaletask.cpp
branchRCL_3
changeset 38 2b4b06654caa
parent 28 ff2fb7658ff7
child 40 6257223ede8a
--- 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 );
             }
         }