Fix PythonFeature Group persistance

This commit is contained in:
Stefan Tröger 2016-11-08 20:31:15 +01:00 committed by Yorik van Havre
parent 10bb1d6fea
commit ad1cac3867

View File

@ -52,7 +52,11 @@ DynamicProperty::~DynamicProperty()
void DynamicProperty::getPropertyList(std::vector<Property*> &List) const
{
// get the properties of the base class first and insert the dynamic properties afterwards
this->pc->PropertyContainer::getPropertyList(List);
if(this->pc->isDerivedFrom(App::ExtensionContainer::getClassTypeId()))
return static_cast<App::ExtensionContainer*>(this->pc)->ExtensionContainer::getPropertyList(List);
else
this->pc->PropertyContainer::getPropertyList(List);
for (std::map<std::string,PropData>::const_iterator it = props.begin(); it != props.end(); ++it)
List.push_back(it->second.property);
}
@ -60,7 +64,11 @@ void DynamicProperty::getPropertyList(std::vector<Property*> &List) const
void DynamicProperty::getPropertyMap(std::map<std::string,Property*> &Map) const
{
// get the properties of the base class first and insert the dynamic properties afterwards
this->pc->PropertyContainer::getPropertyMap(Map);
if(this->pc->isDerivedFrom(App::ExtensionContainer::getClassTypeId()))
return static_cast<App::ExtensionContainer*>(this->pc)->ExtensionContainer::getPropertyMap(Map);
else
this->pc->PropertyContainer::getPropertyMap(Map);
for (std::map<std::string,PropData>::const_iterator it = props.begin(); it != props.end(); ++it)
Map[it->first] = it->second.property;
}