homescreenpluginsrv/hspsdom/src/hspsdomdocument.cpp
branchRCL_3
changeset 19 502e5d91ad42
parent 0 79c6a41cd166
--- a/homescreenpluginsrv/hspsdom/src/hspsdomdocument.cpp	Fri Mar 12 15:43:54 2010 +0200
+++ b/homescreenpluginsrv/hspsdom/src/hspsdomdocument.cpp	Mon Mar 15 12:41:53 2010 +0200
@@ -38,7 +38,7 @@
     clone->iDomStringPool = iDomStringPool->CloneL();
     if ( iRootNode )
         {
-        clone->iRootNode = iRootNode->CloneL( *clone->iDomStringPool );
+        clone->iRootNode = iRootNode->CloneL( *clone->iDomStringPool, ETrue );
         }
     
     CleanupStack::Pop( clone );
@@ -101,6 +101,7 @@
     ChspsDomDocument* self = new( ELeave ) ChspsDomDocument;
     
     CleanupStack::PushL( self );
+    self->ConstructL();
     aStream >> *self;
     CleanupStack::Pop(self);
 
@@ -174,13 +175,9 @@
 //
 EXPORT_C void ChspsDomDocument::InternalizeL( RReadStream& aStream )
     {
-    if(iDomStringPool)
-        {
-        delete iDomStringPool;
-        iDomStringPool = NULL;    
-        }
-    iDomStringPool = ChspsDomStringPool::NewL( aStream );
-        
+    iDomStringPool->Reset();
+    iDomStringPool->InternalizeL( aStream );    
+    
     if ( iRootNode )
         {
         delete iRootNode;