redhawk
redhawk copied to clipboard
bug: sandbox launch with initialize=False skips initial properties too
The sandbox's sb.launch has this to say about the initialize argument:
initialize - If true, call initialize() after launching the component.
If false, defer initialization to the caller.
The true statement leads one to believe that if you set initialize=False, then your next step would be <thing>.initialize(). However that's not true. In ossie/utils/sandbox/local.py:314 (def setup()...), we can see that another critical step gets skipped when that argument is False: initializing initial property values.
Per the documentation above, the setup method should be setting those initial properties and then skip only the initialize() call if the argument is False, like this:
def setup(self, comp):
# Set initial property values for 'property' kind properties
initvals = comp._getInitializeProperties()
initvals.update(self._initProps)
try:
comp.initializeProperties(initvals)
except:
log.exception('Failure in component property initialization')
if self._initialize:
# Actually initialize the component
comp.initialize()