summaryrefslogtreecommitdiff
path: root/numpy/ma/core.py
diff options
context:
space:
mode:
authorpierregm <pierregm@localhost>2008-07-28 20:45:51 +0000
committerpierregm <pierregm@localhost>2008-07-28 20:45:51 +0000
commit98a17e83445d98261dea93752834358b668adc06 (patch)
treec2a4848172f12dd815497b73c26d55614c8255d5 /numpy/ma/core.py
parente3f63ef77b066b3f2636a78a10450dac4f4d478d (diff)
downloadnumpy-98a17e83445d98261dea93752834358b668adc06.tar.gz
* core : prevent ._basedict to be incorrectly propagated
Diffstat (limited to 'numpy/ma/core.py')
-rw-r--r--numpy/ma/core.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/numpy/ma/core.py b/numpy/ma/core.py
index 2236c3846..b282861eb 100644
--- a/numpy/ma/core.py
+++ b/numpy/ma/core.py
@@ -1322,7 +1322,9 @@ class MaskedArray(ndarray):
_baseclass = type(obj)
else:
_baseclass = ndarray
- _basedict = getattr(obj, '_basedict', getattr(obj, '__dict__',{}))
+ # We need to copy the _basedict to avoid backward propagation
+ _basedict = {}
+ _basedict.update(getattr(obj, '_basedict', getattr(obj, '__dict__',{})))
_dict = dict(_fill_value=getattr(obj, '_fill_value', None),
_hardmask=getattr(obj, '_hardmask', False),
_sharedmask=getattr(obj, '_sharedmask', False),