summaryrefslogtreecommitdiff
path: root/addons/web/static/src/css
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2015-04-20 11:00:09 +0200
committerChristophe Simonis <chs@odoo.com>2015-04-20 11:00:09 +0200
commit13fec4a21c169714c8e227949cfe62daf18f163c (patch)
treef4c74d5b3332722f93666d893c04b16ba8b5f914 /addons/web/static/src/css
parentea4f9c4625ec8eebcf337bbd8a8b44d68c377ad7 (diff)
[FIX] core: avoid infinite recursive loop.
`function` fields are fully copied via `copy.copy()`. `copy.copy()` *do not* call `__init__` after object creation; then restore the state via `__setstate__()` or by updating `__dict__` or via `setattr()` when the object uses `__slots__`. As `__init__` is not called, the newly created object does not have any `_args` attribute. This lead to a recursive call of `__getattr__ when `copy.copy` check the existance of `__setstate__` attribute. When break this loop by forbidding explicitly by checking the attribute name accessed (We cannot check the presence of `_args` in `__dict__` because we uses `__slots__`). See http://bugs.python.org/issue5370 Fixes #6037 opw:633109
Diffstat (limited to 'addons/web/static/src/css')
0 files changed, 0 insertions, 0 deletions