I think this is around commit d39789b021178e951b84abc5a08eac63f2d4aa10.
The PopupMenu feels really jank to use now. The notes say:
We now require a mouse movement before highlighting menu items. This is
intended to ensure that the user has intentionally highlighted the menu
item that they wish to trigger.
This seems like an odd problem to solve, no? A mouse over over an item in a menu should highlight the item, whether the user intended it or not. What was the reasoning here?
Anyway, as a consequence, items seem to sometimes not be triggered correctly. It seems inconsistent, for example in my current menu I have 1 item that has this issue.
Okay, after reading the code, I see what the intent was here. You cast a line out from the current mouse position, down to the bottom left corner of the next open sub menu. As long as the mouse is inside this triangle, you assume the user is trying to move to that sub menu.
The issue is, if the sub menu is large, this takes way too big a slice out of the current menu we are in. You could maybe justify a smaller triangle, which casts out a little bit to avoid any taper near the edge. Or count time spent in other items, and at a threshold move to that item. And while this logic is taking place, you should at least see the mouse over state of the other items. Have a look at google chrome, that handle this decently well. But as this stands, you have seriously broken your menus.
@reuk correct, latest develop. As there is no timeout, you must move the mouse away from this triangle-cast to trigger an item when a sub menu is open.
I’m seeing this on latest develop as well. PopupMenus aren’t responding:
Comparing this to macOS, which uses a timer. It gives the user about 0.3s to mouse over to the sub menu, and if they don’t make it before the timer expires, then it opens the menu under the mouse.
+1, I’m not a Juce 8 user yet but ultimately will be, and this will be a notable regression when I get to upgrading as I have quite a lot of long pop-up menus that would perform pretty poorly for users with that behaviour.