changeset 44cddf192170 in trytond:5.4
details: https://hg.tryton.org/trytond?cmd=changeset;node=44cddf192170
description:
        Do not reuse browse list of modules once some have been deleted

        The browse list keep a reference to the deleted modules, so a read error
        may be raised when accessing an attribute of any record of the list.

        issue9567
        review318151002
        (grafted from 0d12d9b6e27bd6184aba51e1c566ff1e0181b079)
diffstat:

 trytond/ir/module.py |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (21 lines):

diff -r f0a65845aad6 -r 44cddf192170 trytond/ir/module.py
--- a/trytond/ir/module.py      Wed Sep 16 14:31:48 2020 +0200
+++ b/trytond/ir/module.py      Wed Sep 09 23:36:33 2020 +0200
@@ -290,14 +290,14 @@
         module_names = get_module_list()
 
         modules = cls.search([])
-        name2module = dict((m.name, m) for m in modules)
+        name2id = dict((m.name, m.id) for m in modules)
         cls.delete([m for m in modules
                 if m.state != 'activated' and m.name not in module_names])
 
         # iterate through activated modules and mark them as being so
         for name in module_names:
-            if name in name2module:
-                module = name2module[name]
+            if name in name2id:
+                module = cls(name2id[name])
                 tryton = get_module_info(name)
                 cls._update_dependencies(module, tryton.get('depends', []))
                 continue

Reply via email to