[DEBUG] correct segfault after updating for exml

This commit is contained in:
Edouard DUPIN 2016-04-19 22:10:38 +02:00
parent faad7fcd41
commit 43c46cddd5
2 changed files with 12 additions and 11 deletions

View File

@ -125,7 +125,7 @@ ewol::Padding ewol::widget::Container2::onChangeSizePadded(const ewol::Padding&
if (m_subWidget[iii] != nullptr) {
vec2 origin2 = origin+m_offset;
vec2 minSize = m_subWidget[iii]->getCalculateMinSize();
bvec2 expand = m_subWidget[iii]->propertyExpand.get();
//bvec2 expand = m_subWidget[iii]->propertyExpand.get();
origin2 += ewol::gravityGenerateDelta(propertyGravity, minSize - localAvaillable);
m_subWidget[iii]->setOrigin(m_origin + origin);
m_subWidget[iii]->setSize(subElementSize);
@ -183,11 +183,12 @@ bool ewol::widget::Container2::loadXML(const exml::Element& _node) {
ewol::Widget::loadXML(_node);
// remove previous element :
subWidgetRemove();
// parse all the elements :
EWOL_VERBOSE("Create en element 2 ... with nodes.size()=" << _node.nodes.size());
// parse all the elements:
for(const auto it : _node.nodes) {
exml::Element pNode = _node.toElement();
if (pNode.exist()) {
EWOL_VERBOSE(" node: " << it);
exml::Element pNode = it.toElement();
if (pNode.exist() == false) {
// trash here all that is not element
continue;
}
@ -200,7 +201,7 @@ bool ewol::widget::Container2::loadXML(const exml::Element& _node) {
if (getSubWidget() != nullptr) {
toogleMode=true;
if (getSubWidgetToggle() != nullptr) {
EWOL_ERROR("(l " << pNode.getPos() << ") " << __class__ << " Can only have one subWidget ??? node='" << widgetName << "'" );
EWOL_ERROR("(l " << pNode.getPos() << ") Can only have one subWidget ??? node='" << widgetName << "'" );
continue;
}
}

View File

@ -273,20 +273,20 @@ bool ewol::widget::ContainerN::loadXML(const exml::Element& _node) {
}
// parse all the elements :
for (const auto nodeIt : _node.nodes) {
const exml::Element pNode = _node.toElement();
const exml::Element pNode = nodeIt.toElement();
if (pNode.exist() == false) {
// trash here all that is not element
continue;
}
std::string widgetName = pNode.getValue();
if (getWidgetManager().exist(widgetName) == false) {
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} (l " << pNode.getPos() << ") Unknown basic node=\"" << widgetName << "\" not in : [" << getWidgetManager().list() << "]" );
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} (l " << pNode.getPos() << ") Unknown basic node='" << widgetName << "' not in : [" << getWidgetManager().list() << "]" );
continue;
}
EWOL_DEBUG("[" << getId() << "] {" << getObjectType() << "} load new element : \"" << widgetName << "\"");
EWOL_DEBUG("[" << getId() << "] {" << getObjectType() << "} load new element : '" << widgetName << "'");
ewol::WidgetShared subWidget = getWidgetManager().create(widgetName);
if (subWidget == nullptr) {
EWOL_ERROR ("[" << getId() << "] {" << getObjectType() << "} (l " << pNode.getPos() << ") Can not create the widget : \"" << widgetName << "\"");
EWOL_ERROR ("[" << getId() << "] {" << getObjectType() << "} (l " << pNode.getPos() << ") Can not create the widget : '" << widgetName << "'");
continue;
}
// add sub element :
@ -296,7 +296,7 @@ bool ewol::widget::ContainerN::loadXML(const exml::Element& _node) {
subWidgetAddStart(subWidget);
}
if (subWidget->loadXML(pNode) == false) {
EWOL_ERROR ("[" << getId() << "] {" << getObjectType() << "} (l " << pNode.getPos() << ") can not load widget properties : \"" << widgetName << "\"");
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} (l " << pNode.getPos() << ") can not load widget properties : '" << widgetName << "'");
return false;
}
}