diff options
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r-- | lib/bb/data_smart.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index 51cf81305..70558c15a 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -530,12 +530,16 @@ class DataSmart(MutableMapping): self._setvar_update_overridevars(var, value) def _setvar_update_overridevars(self, var, value): - new = self.expandWithRefs(value, var).references + vardata = self.expandWithRefs(value, var) + new = vardata.references + new.update(vardata.contains.keys()) while not new.issubset(self.overridevars): nextnew = set() self.overridevars.update(new) for i in new: - nextnew.update(self.expandWithRefs(self.getVar(i, True), i).references) + vardata = self.expandWithRefs(self.getVar(i, True), i) + nextnew.update(vardata.references) + nextnew.update(vardata.contains.keys()) new = nextnew self.internal_finalize(True) |