diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 8f6442f28..1d78ec916 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -890,9 +890,12 @@ const PopupMenuBase = new Lang.Class({ let columnWidths = []; let items = this.box.get_children(); for (let i = 0; i < items.length; i++) { - if (!items[i].visible && - !(items[i]._delegate instanceof PopupSubMenu && items[i-1].visible)) + if (!items[i].visible) continue; + + if (items[i]._delegate instanceof PopupSubMenu) + continue; + if (items[i]._delegate instanceof PopupBaseMenuItem || items[i]._delegate instanceof PopupMenuBase) { let itemColumnWidths = items[i]._delegate.getColumnWidths(); for (let j = 0; j < itemColumnWidths.length; j++) { @@ -907,6 +910,9 @@ const PopupMenuBase = new Lang.Class({ setColumnWidths: function(widths) { let items = this.box.get_children(); for (let i = 0; i < items.length; i++) { + if (items[i]._delegate instanceof PopupSubMenu) + continue; + if (items[i]._delegate instanceof PopupBaseMenuItem || items[i]._delegate instanceof PopupMenuBase) items[i]._delegate.setColumnWidths(widths); }