diff -r 137ebc85284b -r 1b758917cafc idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp Tue May 25 12:29:32 2010 +0300 +++ b/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp Wed Jun 09 09:29:04 2010 +0300 @@ -17,6 +17,7 @@ // System includes #include +#include // User includes #include "xncomposer.h" @@ -60,7 +61,9 @@ // -------------------------------------------------------------------------- // static HBufC* ItemValueL( CHspsConfiguration& aConfiguration, - const TDesC8& aItemId, const TDesC8& aName ) + const TDesC8& aItemId, + const TDesC8& aName, + const TBool aUseUtfConversion = EFalse ) { HBufC* ret = NULL; @@ -86,8 +89,16 @@ if( property->Name() == aName ) { - ret = HBufC::NewL( property->Value().Length() ); - ret->Des().Copy( property->Value() ); + if( aUseUtfConversion ) + { + ret = CnvUtfConverter::ConvertToUnicodeFromUtf8L( property->Value() ); + } + else + { + ret = HBufC::NewL( property->Value().Length() ); + ret->Des().Copy( property->Value() ); + } + break; } } @@ -639,7 +650,10 @@ // if page specific wallpaper feature is enabled if( bgManager.WallpaperType() == CXnBackgroundManager::EPageSpecific ) { - HBufC* bgImage = ItemValueL( *configuration, KWallpaper, KPath ); + HBufC* bgImage = ItemValueL( *configuration, + KWallpaper, + KPath, + ETrue ); if ( bgImage ) { CleanupStack::PushL( bgImage );