src/hbservers/hbthemeserver/hbsgimageiconprocessor_p.cpp
changeset 5 627c4a0fd0e7
parent 2 06ff229162e9
child 21 4633027730f5
child 34 ed14f46c0e55
--- 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);