JUCE
JUCE copied to clipboard
[Bug]: PopUpMenu Highlight Flickering and Submenu Issue
Detailed steps on how to reproduce the bug
- Open the AU Plugin in GarageBand or Logic on an intel or M1 mac.
- Click on the PopUpMenu.
- Observe that when you hover over the items, the highlighted item flickers between the one that the mouse is hovering and a random one.
- Notice that the bug only happens when the PopUpMenu opens to the left of the mouse, and it is related to the number of items in the menu.
- Additionally, submenus open backwards depending on the position, even when there is enough screen space.
Confirmed at https://forum.juce.com/t/popupmenu-bug-on-au-logic-and-garageband/55200
Partially fixed if the following code is applied: https://bitbucket.org/jpommier/juce-stuff/src/master/juce_PopupMenu.cpp
What is the expected behaviour?
Expected result: The PopUpMenu should display the highlighted item that the mouse is hovering over and the submenus should open correctly.
Actual result: The PopUpMenu highlights flicker between the item the mouse is hovering over and a random one, and submenus open backwards depending on the position.
Reproducible: Yes
Operating systems
macOS
What versions of the operating systems?
Big Sur or higher (Apple Silicon).
Architectures
ARM
Stacktrace
No response
Plug-in formats (if applicable)
AU
Plug-in host applications (DAWs) (if applicable)
Logic Pro. GarageBand.
Testing on the develop
branch
I have not tested against the develop
branch
Code of Conduct
- [X] I agree to follow the Code of Conduct
Version 7.0.6 continues to present the aforementioned challenges. However, upon utilising the alternative sources provided, functionality is restored.
Source reference: https://bitbucket.org/jpommier/juce-stuff/src/master/juce_PopupMenu.cpp
Original discussion thread can be found here: https://forum.juce.com/t/popupmenu-with-a-rewritten-mouse-handling-code/56882
It is recommended to contemplate the substitution of the existing popup menu code with the version provided by JPO.