From f2e6548d21bab7ee33bfe4a7b511ca4da3e3f0bc Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Fri, 13 Dec 2019 01:25:38 -0800 Subject: [PATCH] fix locking issue in __deepcopy__ --- masque/label.py | 3 ++- masque/repetition.py | 3 ++- masque/subpattern.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/masque/label.py b/masque/label.py index d9fcd3e..5dd6e57 100644 --- a/masque/label.py +++ b/masque/label.py @@ -102,8 +102,9 @@ class Label: def __deepcopy__(self, memo: Dict = None) -> 'Label': memo = {} if memo is None else memo - new = copy.copy(self) + new = copy.copy(self).unlock() new._offset = self._offset.copy() + new.locked = self.locked return new def copy(self) -> 'Label': diff --git a/masque/repetition.py b/masque/repetition.py index 0c3234a..fb40270 100644 --- a/masque/repetition.py +++ b/masque/repetition.py @@ -127,8 +127,9 @@ class GridRepetition: def __deepcopy__(self, memo: Dict = None) -> 'GridReptition': memo = {} if memo is None else memo - new = copy.copy(self) + new = copy.copy(self).unlock() new.pattern = copy.deepcopy(self.pattern, memo) + new.locked = self.locked return new # offset property diff --git a/masque/subpattern.py b/masque/subpattern.py index b2da81f..78df1b0 100644 --- a/masque/subpattern.py +++ b/masque/subpattern.py @@ -70,8 +70,9 @@ class SubPattern: def __deepcopy__(self, memo: Dict = None) -> 'SubPattern': memo = {} if memo is None else memo - new = copy.copy(self) + new = copy.copy(self).unlock() new.pattern = copy.deepcopy(self.pattern, memo) + new.locked = self.locked return new # offset property