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]>> 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/>
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]>>
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/>
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.