@@ -110,6 +110,8 @@ UbuntuShape {
110110 } else {
111111 hoveredItem = null;
112112 }
113+
114+ submenuHoverTimer.stop();
113115 }
114116
115117 onSelect: {
@@ -236,7 +238,7 @@ UbuntuShape {
236238 return;
237239 d.currentItem = d.hoveredItem;
238240
239− if (!d.currentItem.__isSeparator && d.currentItem.item.hasSubmenu) {
241+ if (!d.currentItem.__isSeparator && d.currentItem.item.hasSubmenu && d.currentItem.item.enabled) {
240242 submenuHoverTimer.start();
241243 }
242244 }
@@ -294,6 +296,8 @@ UbuntuShape {
294296 width: MathUtils.clamp(implicitWidth, d.__minimumWidth, d.__maximumWidth)
295297
296298 action.onTriggered: {
299+ submenuHoverTimer.stop();
300+
297301 d.currentItem = loader;
298302
299303 if (hasSubmenu) {