equal
deleted
inserted
replaced
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 /** |