--- a/homescreenpluginsrv/hspsmanager/src/hspsmaintenancehandler.cpp Wed Mar 31 22:04:35 2010 +0300
+++ b/homescreenpluginsrv/hspsmanager/src/hspsmaintenancehandler.cpp Wed Apr 14 16:16:44 2010 +0300
@@ -1042,7 +1042,7 @@
CleanupStack::PushL( pluginIter );
ChspsDomNode* pluginNode = pluginIter->First();
TBool steppingtoConfNode(EFalse);
- while(pluginNode && !steppingtoConfNode)
+ while( pluginNode && !steppingtoConfNode )
{
const TDesC8& pluginNodeName = pluginNode->Name();
@@ -1057,10 +1057,18 @@
}
CleanupStack::PopAndDestroy( pluginIter );
- // Copy the plugin configuration to the main document.
- ChspsDomNode* rootCopy = pluginNode->CloneL( node->StringPool());
- rootCopy->SetParent( node );
- node->AddChildL( rootCopy );
+ if ( pluginNode )
+ {
+ // Copy the plugin configuration to the main document.
+ ChspsDomNode* rootCopy = pluginNode->CloneL( node->StringPool());
+ rootCopy->SetParent( node );
+ node->AddChildL( rootCopy );
+ }
+ else
+ {
+ // configuration is corrupted
+ User::Leave( KErrCorrupt );
+ }
}
CleanupStack::PopAndDestroy( pluginOdt );