skins/AknSkins/srvsrc/AknsSrvWallpaperCache.cpp
branchRCL_3
changeset 38 a10f447f38bd
parent 0 05e9090e2422
child 45 6ef40bf8fd34
--- a/skins/AknSkins/srvsrc/AknsSrvWallpaperCache.cpp	Mon Mar 15 12:44:38 2010 +0200
+++ b/skins/AknSkins/srvsrc/AknsSrvWallpaperCache.cpp	Wed Mar 31 23:10:44 2010 +0300
@@ -61,6 +61,12 @@
 TAknsSrvWallpaper* CAknsSrvWallpaperCache::AddL( RFs& aRFs, const TDesC& aFileName, 
         const TSize aTrgSize, const TSize aMaxSize )
     {
+    
+    if ( aFileName.Length() == 0 )
+        {
+        return NULL;
+        }
+    	
     if ( aTrgSize ==  TSize(-1, -1) )
         {
         TryDecodeImageL( aRFs,aFileName );
@@ -73,8 +79,9 @@
     wp = CachedImage( aFileName );
     if ( !wp )
         {
-        wp = new TAknsSrvWallpaper;
+        wp = new ( ELeave ) TAknsSrvWallpaper;
         ZeroItem ( *wp );
+        CleanupStack::PushL( wp );
         }
     else
         {
@@ -158,6 +165,7 @@
         {
         RemoveOldestItem();        
         iCache.Append( wp );
+        CleanupStack::Pop( wp ); 
         }
     return wp;
     }
@@ -283,4 +291,4 @@
     }
 
 
-//  End of File
+//  End of File
\ No newline at end of file