> Hello colleagues,
> 
> Could you please review the fix for the bug specific to Linux OS and Solaris 
> OS, which consists in the fact that, if Swing components are changed through 
> standard public API of these components, while the frame containing these 
> components is in "Frame.ICONIFIED" state or in other words minimized, then, 
> when the frame becomes deiconified the UI of the Swing components does not 
> reflect those changes.
> 
> ROOT CAUSE OF THE BUG:
> "javax.swing.RepaintManager.addDirtyRegion0(Container, int, int, int, int)" 
> by design prevents updating regions of containers, when the containers are 
> inside a frame with "Frame.ICONIFIED" state. And at the same time Linux OS 
> specific JDK code does not initiate repaint of the frame, when the frame's 
> peer is notified about change of state from "Frame.ICONIFIED" to other state. 
> More details are available in the bug record.
> 
> THE FIX:
> The fix adds code to the method 
> "sun.awt.X11.XFramePeer.handlePropertyNotify(XEvent)" which calls "repaint()" 
> for instance of "XFramePeer", if its state changed from "Frame.ICONIFIED". 
> The fix repeats the approach already existing in macOS specific code, which 
> is in the method "sun.lwawt.LWWindowPeer.notifyIconify(boolean)".
> 
> Thank you,
> Anton

Anton Litvinov has updated the pull request incrementally with one additional 
commit since the last revision:

  Removal of required platform restriction from the test

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1722/files
  - new: https://git.openjdk.java.net/jdk/pull/1722/files/c0b5d202..72ebe5ca

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1722&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1722&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1722.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1722/head:pull/1722

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

Reply via email to