diff -r c743ef5928ba -r f966699dea19 idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp Tue Feb 02 00:04:13 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp Fri Feb 19 22:42:37 2010 +0200 @@ -51,7 +51,7 @@ #include "xnodtparser.h" -_LIT8( KWidgetBgSkinId, "SKIN(268458534 9886)" ); +_LIT8( KWidgetBgSkinId, "SKIN(268458534 9916)" ); // CONSTANTS _LIT8( KXMLUIMLNodeName, "xmluiml" ); @@ -770,6 +770,15 @@ CXnNode* owner( widgetNode->Parent() ); + CXnControlAdapter* widgetControl( widgetNode->Control() ); + + RPointerArray< CXnControlAdapter >& + childAdapters( owner->Control()->ChildAdapters() ); + + childAdapters.Remove( childAdapters.Find( widgetControl ) ); + + childAdapters.Compress(); + RPointerArray< CXnNode >& children( owner->Children() ); TInt index( children.Find( widgetNode ) ); @@ -784,9 +793,7 @@ CXnDomNode* owner( aPluginData.Owner() ); owner->DeleteChild( aPluginData.Node() ); - } - - owner->Control()->RemoveChildAdapters(); + } } // -----------------------------------------------------------------------------