diff --git a/product/ERP5Type/patches/WorkflowTool.py b/product/ERP5Type/patches/WorkflowTool.py index a26f7ea8d42d2b1f87816e5b2de9058a828666ec..29fbe9ec7c0a618e24c13f5408ac02d66302f8d1 100644 --- a/product/ERP5Type/patches/WorkflowTool.py +++ b/product/ERP5Type/patches/WorkflowTool.py @@ -631,8 +631,10 @@ class WorkflowHistoryList(Persistent): if index == -1: return self._slots[-1] elif isinstance(index, (int, long)): - # XXX this implementation is not so good, but rarely used. - return tuple(self)[index] + iterator = self.__iter__() + for i in xrange(index): + iterator.next() + return iterator.next() elif isinstance(index, slice): return self.__class__((self[x] for x in xrange(*index.indices(len(self)))))