Fixed crashes regarding general handling of NULL pointers in Child Arrays

This commit is contained in:
Jacob Støren
2015-09-25 14:42:12 +02:00
parent 03c788db6a
commit 49ab79219e
2 changed files with 5 additions and 4 deletions

View File

@@ -134,11 +134,12 @@ void PdmChildArrayField<DataType*>::deleteAllChildObjects()
template<typename DataType>
void PdmChildArrayField<DataType*>::erase(size_t index)
{
PdmObjectHandle* obj = m_pointers[index].rawPtr();
if (obj)
if (m_pointers[index].rawPtr())
{
removeChildObject(obj);
m_pointers[index].rawPtr()->removeAsParentField(this);
}
m_pointers.erase(m_pointers.begin() + index);
}

View File

@@ -121,7 +121,7 @@ void PdmUiObjectHandle::addDefaultUiTreeChildren(PdmUiTreeOrdering* uiTreeOrderi
for (size_t cIdx = 0; cIdx < children.size(); cIdx++)
{
if (!uiTreeOrdering->containsObject(children[cIdx]))
if (children[cIdx] && !uiTreeOrdering->containsObject(children[cIdx]))
{
uiTreeOrdering->add(children[cIdx]);
}