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.

-------------

Commit messages:
 - 8268084: [macos] Disabled JMenuItem arrow is not disabled

Changes: https://git.openjdk.java.net/jdk/pull/5310/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5310&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268084
  Stats: 167 lines in 2 files changed: 166 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5310.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5310/head:pull/5310

PR: https://git.openjdk.java.net/jdk/pull/5310

Reply via email to