JUCE icon indicating copy to clipboard operation
JUCE copied to clipboard

[Bug]: PopUpMenu Highlight Flickering and Submenu Issue

Open reales opened this issue 1 year ago • 1 comments

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

reales avatar Mar 03 '23 18:03 reales

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.

reales avatar Aug 15 '23 07:08 reales