Hi, Dmitry
Can you please clarify why the changes in CPlatformEmbeddedFrame are necessary? Why the same code does not exists in CViewPlatformEmbeddedFrame?

On 27/06/2018 10:25, Dmitry Markov wrote:
Hi Sergey,

You are right, it is better to use synthesizeWindowActivation(). Please find the updated webrew here: http://cr.openjdk.java.net/~dmarkov/8205479/webrev.01/

Changes:
 - Overrode synthesizeWindowActivation() for CEmbeddedFrame. It calls handleWindowFocusEvent() which actually activates or deactivates embedded frame.  - Added updateGlobalFocusedWindow() to CEmbeddedFrame. This method should be called when the focus is transferred to embedded frame programmatically since handleWindowFocusEvent() skips activation for non-focused embedded frames.

Thanks,
Dmitry
On 27 Jun 2018, at 01:20, Sergey Bylokhov <[email protected] <mailto:[email protected]>> wrote:

Hi, Dmitry.
Can you please confirm that we should not implement synthesizeWindowActivation() to achieve this behavior? I guess we should do the same as in CViewEmbeddedFrame which is used by SWT.

On 25/06/2018 09:11, Dmitry Markov wrote:
Hello,
Could you review a fix for jdk11, please?
 bug: https://bugs.openjdk.java.net/browse/JDK-8205479
 webrev: http://cr.openjdk.java.net/~dmarkov/8205479/webrev.00/
Problem description:
On Mac OSX when focus is transferred to some component located at embedded frame, CPlatformEmbeddedFrame.requestWindowFocus() is called to activate owning frame. However that method does nothing, (i.e. no activation happens). As a result the focus cannot be transferred to the component because its owner is not active.
Fix:
CPlatformEmbeddedFrame.requestWindowFocus() should activate the embedded frame, (i.e. invoke notifyActivation() for the corresponding peer).
Thanks,
Dmitry


--
Best regards, Sergey.



--
Best regards, Sergey.

Reply via email to