From 17ecb65b392e98860661502015759782b55028a7 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sat, 15 Apr 2006 22:57:52 +0000 Subject: lib/bb/data_smart.py: For now we are forced to deepcopy these two dictonaries. This is a first aid band aid to have something working. We will kill the DataSmartPackage class completely --- lib/bb/data_smart.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py index 4d426f428..ca1e3a246 100644 --- a/lib/bb/data_smart.py +++ b/lib/bb/data_smart.py @@ -236,8 +236,8 @@ class DataSmart: # we really want this to be a DataSmart... data = DataSmart() data.dict["_data"] = self.dict - data._seen_overrides = copy.copy(self._seen_overrides) - data._special_values = copy.copy(self._special_values) + data._seen_overrides = copy.deepcopy(self._seen_overrides) + data._special_values = copy.deepcopy(self._special_values) return data @@ -291,6 +291,11 @@ class DataSmartPackage(DataSmart): self.bbfile = os.path.abspath( name ) self.parent = parent - # Do Copy on Write + + + # XXX Kill this class, kill this deepcopy by COW + self._seen_overrides = copy.deepcopy(parent._seen_overrides) + self._special_values = copy.deepcopy(parent._special_values) + self.linkDataSet() -- cgit 1.2.3-korg