diff --git a/addons/web/static/src/legacy/js/core/menu.js b/addons/web/static/src/legacy/js/core/menu.js index 0e37072c9a4..8dde15aec47 100644 --- a/addons/web/static/src/legacy/js/core/menu.js +++ b/addons/web/static/src/legacy/js/core/menu.js @@ -158,10 +158,11 @@ export async function initAutoMoreMenu(el, options) { var rect = el.getBoundingClientRect(); var style = window.getComputedStyle(el); var outerWidth = rect.right - rect.left; - if (mLeft !== false && (considerAutoMargins || !autoMarginLeftRegex.test(el.getAttribute('class')))) { + const isRTL = style.direction === 'rtl'; + if (mLeft !== false && (considerAutoMargins || !(isRTL ? autoMarginRightRegex : autoMarginLeftRegex).test(el.getAttribute('class')))) { outerWidth += parseFloat(style.marginLeft); } - if (mRight !== false && (considerAutoMargins || !autoMarginRightRegex.test(el.getAttribute('class')))) { + if (mRight !== false && (considerAutoMargins || !(isRTL ? autoMarginLeftRegex : autoMarginRightRegex).test(el.getAttribute('class')))) { outerWidth += parseFloat(style.marginRight); } // Would be NaN for invisible elements for example