Hi Dmitry,

The fix looks good.

Can an automated test be written for this issue?

Regards,
Alexey

On 06/08/2018 15:46, Dmitry Markov wrote:
Thank you, Sergey!

Looking for the second +1 from someone else.

Thanks,
Dmitry

On 5 Aug 2018, at 01:15, Sergey Bylokhov <[email protected] <mailto:[email protected]>> wrote:

Looks fine.

On 01/07/2018 02:26, Dmitry Markov wrote:
Hi Sergey,
The changes in CPlatformEmbeddedFrame are intended for handling the case when the embedder window contains several embedded frames and focus is transferred programmatically between the frames. In particular if requestFocus() is invoked for some component located at inactive frame it is necessary to activate the frame via CPlatformEmbeddedFrame.requestWindowFocus() to make such focus transition possible. I am sorry, I do not have information about whether the situation described above is applicable for SWT or not. Anyway it is out of scope for this review.
Thanks,
Dmitry
On 1 Jul 2018, at 00:21, Sergey Bylokhov <[email protected] <mailto:[email protected]><mailto:[email protected]>> wrote:

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/ <http://cr.openjdk.java.net/%7Edmarkov/8205479/webrev.01/><http://cr.openjdk.java.net/%7Edmarkov/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]><mailto:[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/ <http://cr.openjdk.java.net/%7Edmarkov/8205479/webrev.00/><http://cr.openjdk.java.net/%7Edmarkov/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.


--
Best regards, Sergey.


Reply via email to