config: Fix for port references generated multiple times

SimObjects are expected to only generate one port reference per
port belonging to them.  There is a subtle bug with using "not"
here as a VectorPort is seen as not having a reference if it is
either None or empty as per Python docs sec 9.9 for Standard operators.
Intended behavior is to only check if we have not created the reference.
This commit is contained in:
Geoffrey Blake
2013-10-17 10:20:45 -05:00
parent ad614bf24d
commit 3d582c767a

View File

@@ -698,7 +698,7 @@ class SimObject(object):
# via __setattr__. There is only ever one reference
# object per port, but we create them lazily here.
ref = self._port_refs.get(attr)
if not ref:
if ref == None:
ref = self._ports[attr].makeRef(self)
self._port_refs[attr] = ref
return ref