--- 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