On Thu, 2 Sep 2021 12:41:58 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> wrote:
>> It is seen in macos disabled JMenuItem arrow is not disabled even though >> JMenuItem itself is disabled. >> In native app, same menuitem arrow is disabled for disabled menuitem. >> >> Issue is when AquaMenuPainter#paintMenuItem() is called, it tries to draw a >> ImageIcon image of the arrow via ImageIcon#paintIcon which tries to generate >> MultiResolutionCachedImage via getResolutionVariant() by calling >> AquaUtils#generateFilteredImage. >> It does not take into account if disabled arrow icon image needs to be drawn >> or not, so it is always enabled. >> >> Proposed fix is to generate a disabled ImageIcon image of the same arrow >> icon and use it for disabled state. > > Prasanta Sadhukhan has updated the pull request incrementally with one > additional commit since the last revision: > > Cache icon src/java.desktop/macosx/classes/com/apple/laf/AquaMenuPainter.java line 419: > 417: } else { > 418: arrowIcon.paintIcon(c, g, arrowIconRect.x, > arrowIconRect.y); > 419: } It will be even better to implement it in the same way as done in other L&fs like windows/metal. ------------- PR: https://git.openjdk.java.net/jdk/pull/5310