diff --git a/product/CMFActivity/ActivityBuffer.py b/product/CMFActivity/ActivityBuffer.py index ce408df3a7fd3296fb392d0292faeee4e0a5d475..d1a7ebbace78334d0b8e8c02477211e834f40a82 100644 --- a/product/CMFActivity/ActivityBuffer.py +++ b/product/CMFActivity/ActivityBuffer.py @@ -36,13 +36,15 @@ class ActivityBuffer(TM): _p_oid=_p_changed=_registered=None - def __init__(self): + def __init__(self, activity_tool=None): from thread import allocate_lock self._use_TM = self._transactions = 1 if self._use_TM: self._tlock = allocate_lock() self._tthread = None self._lock = allocate_lock() + if activity_tool is not None: + self._activity_tool = activity_tool # Keeps a list of messages to add and remove # at end of transaction diff --git a/product/CMFActivity/ActivityTool.py b/product/CMFActivity/ActivityTool.py index 8086836b8fbac7f62e35a0da6eab48e8abd6d8ae..86b15642fd08dd9d984f4534d4db4e6d795ca7e2 100644 --- a/product/CMFActivity/ActivityTool.py +++ b/product/CMFActivity/ActivityTool.py @@ -609,7 +609,7 @@ class ActivityTool (Folder, UniqueObject): global is_initialized if not is_initialized: self.initialize() if getattr(self, '_v_activity_buffer', None) is None: - self._v_activity_buffer = ActivityBuffer() + self._v_activity_buffer = ActivityBuffer(activity_tool=self) return ActiveWrapper(object, activity, active_process, **kw) def deferredQueueMessage(self, activity, message): @@ -617,7 +617,7 @@ class ActivityTool (Folder, UniqueObject): def deferredDeleteMessage(self, activity, message): if getattr(self, '_v_activity_buffer', None) is None: - self._v_activity_buffer = ActivityBuffer() + self._v_activity_buffer = ActivityBuffer(activity_tool=self) self._v_activity_buffer.deferredDeleteMessage(self, activity, message) def getRegisteredMessageList(self, activity): @@ -636,7 +636,7 @@ class ActivityTool (Folder, UniqueObject): global is_initialized if not is_initialized: self.initialize() if getattr(self, '_v_activity_buffer', None) is None: - self._v_activity_buffer = ActivityBuffer() + self._v_activity_buffer = ActivityBuffer(activity_tool=self) if type(object) is TupleType: object_path = object else: @@ -763,7 +763,7 @@ class ActivityTool (Folder, UniqueObject): global is_initialized if not is_initialized: self.initialize() if getattr(self, '_v_activity_buffer', None) is None: - self._v_activity_buffer = ActivityBuffer() + self._v_activity_buffer = ActivityBuffer(activity_tool=self) activity_dict[activity].queueMessage(self, Message(path, active_process, activity_kw, method_id, args, kw))