Hi Anthony,

On 10/23/13 8:37 PM, Anthony Petrov wrote:
Hi Anton,

Not sure if this matters much, but normally we don't use *.swing.* classes directly from *.awt.* classes to avoid inter-dependencies. It would look better if you could use an approach based on the Class.getName()/Class.getSuperClass() methods here.
Right, I missed that. Thanks.


Also, I don't quite understand why "in case of interop WM_PAINT is never triggered". W/o understanding this, I'm not sure if the current fix is correct. Please elaborate on the root cause of the bug.

Well, I agree we should understand why WM_PAINT is not generated. However, I'm afraid the investigation may take too much time and with no guarantee (that it can't be solved). This is a simple and, imo, harmless workaround which gets the issue solved in jfx8/jdk8. What about leaving the WM_PAINT issue open, but targeting it to the next release (when we have more time to investigate)?

Thanks,
Anton.



--
best regards,
Anthony

On 10/23/2013 10:15 PM, Anton V. Tarasov wrote:
Hello,

Please, review the fix:

jira: https://bugs.openjdk.java.net/browse/JDK-8027157
webrev: http://cr.openjdk.java.net/~ant/RT-32570/webrev.0

This is to support SwingNode. On Windows, in the interop mode, when a
popup (JWindow) is shown it doesn't get WM_PAINT native message.
The message should trigger adding a dirty component to RepaintManager
that will eventually paint it.
Currently, a popup is shown blank. Please, see
https://javafx-jira.kenai.com/browse/RT-32570 for more details.

The fix explicitly calls for WWindowPeer.handleExpose(..) on showing a
window owned by JLightweightFrame.

Thanks,
Anton.

Reply via email to