skins/AknSkins/srvsrc/AknsSrvWallpaperCache.cpp
branchRCL_3
changeset 38 a10f447f38bd
parent 0 05e9090e2422
child 45 6ef40bf8fd34
equal deleted inserted replaced
33:e2effe28d8cc 38:a10f447f38bd
    59 * Add a image to wallpaper cache
    59 * Add a image to wallpaper cache
    60 */
    60 */
    61 TAknsSrvWallpaper* CAknsSrvWallpaperCache::AddL( RFs& aRFs, const TDesC& aFileName, 
    61 TAknsSrvWallpaper* CAknsSrvWallpaperCache::AddL( RFs& aRFs, const TDesC& aFileName, 
    62         const TSize aTrgSize, const TSize aMaxSize )
    62         const TSize aTrgSize, const TSize aMaxSize )
    63     {
    63     {
       
    64     
       
    65     if ( aFileName.Length() == 0 )
       
    66         {
       
    67         return NULL;
       
    68         }
       
    69     	
    64     if ( aTrgSize ==  TSize(-1, -1) )
    70     if ( aTrgSize ==  TSize(-1, -1) )
    65         {
    71         {
    66         TryDecodeImageL( aRFs,aFileName );
    72         TryDecodeImageL( aRFs,aFileName );
    67         return NULL;
    73         return NULL;
    68         }
    74         }
    71     TAknsSrvWallpaper* wp = NULL;
    77     TAknsSrvWallpaper* wp = NULL;
    72     
    78     
    73     wp = CachedImage( aFileName );
    79     wp = CachedImage( aFileName );
    74     if ( !wp )
    80     if ( !wp )
    75         {
    81         {
    76         wp = new TAknsSrvWallpaper;
    82         wp = new ( ELeave ) TAknsSrvWallpaper;
    77         ZeroItem ( *wp );
    83         ZeroItem ( *wp );
       
    84         CleanupStack::PushL( wp );
    78         }
    85         }
    79     else
    86     else
    80         {
    87         {
    81         cached = ETrue;
    88         cached = ETrue;
    82         }
    89         }
   156     wp->iName.Copy( aFileName );
   163     wp->iName.Copy( aFileName );
   157     if ( !cached )
   164     if ( !cached )
   158         {
   165         {
   159         RemoveOldestItem();        
   166         RemoveOldestItem();        
   160         iCache.Append( wp );
   167         iCache.Append( wp );
       
   168         CleanupStack::Pop( wp ); 
   161         }
   169         }
   162     return wp;
   170     return wp;
   163     }
   171     }
   164 
   172 
   165 /**
   173 /**