-
- Downloads
[FIX] web_editor: fix _view_get infinite recursion
The _view_get function is a recursive function used to retieve all the views related to a view (inherited or t-called). The issue is that by an odd set of circumstances it is possible to have a loop in the view graph. Resulting in the recursive function being called until a "maximum recursion depth exceeded" error occurs. Example of a loop: A t-call B and A inherit from B This is possible on an update of a view that has been forked by website: If the view A was doing a t-call on B and is has been duplicated with the arch modified. When we update with the changes A now inherit from B instead of t-call B Since the arch was modified it will not be updated so A will still t-call B but the inherit_id of A is unchanged so it will be updated to reference B resulting in a loop. closes odoo/odoo#51620 X-original-commit: 63e1e84e Signed-off-by:Jérémy Kersten (jke) <jke@openerp.com>
Showing
- addons/web_editor/models/ir_ui_view.py 9 additions, 6 deletionsaddons/web_editor/models/ir_ui_view.py
- addons/web_editor/tests/__init__.py 1 addition, 0 deletionsaddons/web_editor/tests/__init__.py
- addons/web_editor/tests/test_views.py 27 additions, 0 deletionsaddons/web_editor/tests/test_views.py
Loading
Please register or sign in to comment