Merge pull request #70 from DeepSOIC/fixReplaceChild

OpenSCAD: fix replaceChild
This commit is contained in:
Yorik van Havre 2015-12-16 23:25:28 -02:00
commit 6d237ed63b

View File

@ -32,10 +32,16 @@ def replaceobj(parent,oldchild,newchild):
for propname in parent.PropertiesList:
propvalue=parent.getPropertyByName(propname)
if type(propvalue) == list:
bModified = False
for dontcare in range(propvalue.count(oldchild)):
propvalue[propvalue.index(oldchild)] = newchild
setattr(parent,propname,propvalue)
#print propname, parent.getPropertyByName(propname)
bModified = True
if bModified:
if propname == "ExpressionEngine":
# fixme: proper handling?
FreeCAD.Console.PrintWarning("Expressions in "+parent.Name+" need to be modified, but they were not. Please do that manually.")
continue
setattr(parent,propname,propvalue)
else:
if propvalue == oldchild:
setattr(parent,propname,newchild)