RFR: JDK-8311113: [Win] Remove invalid pointer cast and clean up setLabel() in awt_MenuItem.cpp

Harshitha Onkar honkar at openjdk.org
Mon Aug 14 18:36:50 UTC 2023


In awt_MenuItem.cpp (712,22): ` mii.dwTypeData = (LPTSTR)(*sb)`  produces invalid pointer cast warning when complied on clang and moreover this is a no-op.  

`mii.dwTypeData` is used only when **MIIM_STRING** flag is set in the fMask (as per [Docs](https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-menuiteminfoa)), which is not the case in JDK [Ln#705](https://github.com/openjdk/jdk/blob/e56d3bc2dab3d32453b6eda66e8434953c436084/src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp#L706). Hence the assignment ` mii.dwTypeData = (LPTSTR)(*sb)`  is not required and so is the label parameter. Hence necessary cleanup is done at the following places -

- WMenuItemPeer.java - to the native function call
- awt_MenuItem.cpp -  `WMenuItemPeer__1setLabel() ,_SetLabel(), SetLabel()`
- awt_MenuItem.h

Added a test which checks setLabel() functionality on Menu, MenuItem and PopupMenu.

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

Commit messages:
 - copyright year
 - ordering of imports
 - spacing
 - test changes
 - setLabel changes

Changes: https://git.openjdk.org/jdk/pull/15276/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15276&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311113
  Stats: 246 lines in 4 files changed: 183 ins; 53 del; 10 mod
  Patch: https://git.openjdk.org/jdk/pull/15276.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15276/head:pull/15276

PR: https://git.openjdk.org/jdk/pull/15276


More information about the client-libs-dev mailing list