void HbXmlLoaderBaseActions::cleanUp() { mStack.clear(); // Create mTopObjectMap for (ObjectMap::iterator it = mObjectMap.begin(); it != mObjectMap.end(); ++it ) { QObject *object = it.value().mObject.data(); if ( it.value().mOwned ) { if (object && it.value().mType == HbXml::WIDGET) { QGraphicsWidget *asWidget = static_cast<QGraphicsWidget *>(object); if (!asWidget->parentItem() && !asWidget->parent()) { mTopObjectMap.insert(it.key(), it.value()); } } else if (object && !object->parent()) { mTopObjectMap.insert(it.key(), it.value()); } else { // not added - owned by another object. } it.value().mOwned = false; } } }