diff -r 11d3954df52a -r 627c4a0fd0e7 src/hbservers/hbthemeserver/hbsgimageiconprocessor_p.cpp --- a/src/hbservers/hbthemeserver/hbsgimageiconprocessor_p.cpp Thu May 27 13:10:59 2010 +0300 +++ b/src/hbservers/hbthemeserver/hbsgimageiconprocessor_p.cpp Fri Jun 11 13:58:22 2010 +0300 @@ -274,6 +274,7 @@ } int iconCount = multiPieceIconParams.multiPartIconList.count(); + GET_MEMORY_MANAGER(HbMemoryManager::SharedMemory); for (int i = 0; i < iconCount; i++) { HbIconFormatType type = multiPieceIconInfo[i].type; bool success = false; @@ -285,14 +286,10 @@ int pieceTopRight = position.x() + multiPieceIconParams.multiPartIconData.targets[i].width(); position.setX(consolidatedIconWidth - pieceTopRight); } - - - HbIconSource *source = HbThemeServerUtils::getIconSource(multiPieceIconParams.multiPartIconList[i]); - QByteArray *sourceByteArray = source->byteArray(); - if( !sourceByteArray ) { - return false; - } - byteArray = *sourceByteArray; + + byteArray = QByteArray::fromRawData((char*)manager->base() + multiPieceIconInfo[i].nvgData.offset, + multiPieceIconInfo[i].nvgData.dataSize); + success = renderNvg(byteArray, QRect(position, multiPieceIconParams.multiPartIconData.pixmapSizes[i]), (Qt::AspectRatioMode)multiPieceIconParams.aspectRatioMode, mirrored);