From: <cpa...@ce...> - 2016-01-27 15:36:46
|
From: cpascual <cpa...@ce...> TaurusModel stores a weak ref to its parent. If the parent is not referenced elsewhere, the getParentObj API does not work as expected. Fix by making TaurusModel store a strong ref to parent instead of a weak one. --- lib/taurus/core/taurusmodel.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/taurus/core/taurusmodel.py b/lib/taurus/core/taurusmodel.py index 4f11b9d..e5cbc4f 100644 --- a/lib/taurus/core/taurusmodel.py +++ b/lib/taurus/core/taurusmodel.py @@ -58,10 +58,7 @@ class TaurusModel(Logger): serializationMode = s_obj.getSerializationMode() self._serialization_mode = serializationMode - try: - self._parentObj = weakref.ref(parent) - except Exception: - self._parentObj = None + self._parentObj = parent self._listeners = [] def __str__name__(self, name): @@ -121,8 +118,7 @@ class TaurusModel(Logger): #-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- def getParentObj(self): - if self._parentObj is None: return None - return self._parentObj() + return self._parentObj def getChildObj(self,child_name): return None -- 2.6.4 |