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.