diff --git a/tiramisu/option.py b/tiramisu/option.py index 8cb6638..540fd2e 100644 --- a/tiramisu/option.py +++ b/tiramisu/option.py @@ -82,13 +82,14 @@ class Multi(list): self._setvalue(value, who=settings.get_owner()) multis = [] for opt in self.config._cfgimpl_descr._children: + if isinstance(opt, OptionDescription): + continue multi = self.config._cfgimpl_values[opt._name] - multis.append(multi) - for multi in multis: if master == multi.opt._name: if add_master: multi._setvalue(value, who=settings.get_owner()) - else: + elif len(multi) == 0 \ + or len(multi) < len(self): multi._append_default() def _append_default(self):