Issue is seen that a popup doesn't get closed when the component that invokes 
it, gets removed from the parent container.
This is because the JPopupMenu does not listen to its invoker liefecycle 
thereby behaving as a standalone entity after creation.
Fix is made to make sure popup listens to its invoker lifecycle by registering 
its PropertyChangeListener to the invoker and listens to the ["ancestor" 
property name ], 
https://github.com/openjdk/jdk/blob/441dbde2c3c915ffd916e39a5b4a91df5620d7f3/src/java.desktop/share/classes/javax/swing/JComponent.java#L4853-L4858
 which will become null when removed, wherein we should dispose of the popup

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

Commit messages:
 - Remove listener
 - 4938801: The popup does not go when the component is removed.

Changes: https://git.openjdk.org/jdk/pull/26407/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26407&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-4938801
  Stats: 149 lines in 2 files changed: 148 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/26407.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26407/head:pull/26407

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

Reply via email to