<Swing Dev> RFR: JDK-8234386: [macos] NPE was thrown at expanding Choice from maximized frame
Toshio 5 Nakamura
TOSHIONA at jp.ibm.com
Mon Nov 25 10:54:05 UTC 2019
Hi Sergey,
> One small question about the test, is it necessary to check macOS only?
Yes. Keyboard operations by robot are easy to reproduce the problem, but
Keyboard don't work for Choice component in other platforms, such as
Windows, Linux, Solaris, or AIX. So, I think mac only is appropriate.
By the way, I found pair of keyPress and keyRelease events by robot
are required in some cases. I'd like to update the testcase to webrev.03.
http://cr.openjdk.java.net/~tnakamura/8234386/webrev.03
Thanks,
Toshio Nakamura
Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote on 2019/11/24 05:19:36:
> From: Sergey Bylokhov <Sergey.Bylokhov at oracle.com>
> To: Toshio 5 Nakamura <TOSHIONA at jp.ibm.com>
> Cc: swing-dev at openjdk.java.net
> Date: 2019/11/24 05:19
> Subject: [EXTERNAL] Re: <Swing Dev> RFR: JDK-8234386: [macos] NPE
> was thrown at expanding Choice from maximized frame
>
> One small question about the test, is it necessary to check macOS only?
> I assume the code will work on any platform?
>
> On 11/21/19 5:06 pm, Toshio 5 Nakamura wrote:
> > Hi Sergey,
> >
> > Thank you for the comment.
> > Please find webrev.02.
> >
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Etnakamura_8234386_webrev.02&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=EVbFABcgo-X99_TGI2-qsMtyulHUruf8lAzMlVpVRqw&m=YAb7UAJvK163M5gyNfa97FP4BQaHv6rfJEvnA3huYeg&s=jD-k9jsuMc9PVSZfAp8tlRyfj0k_8ZGP9zqlwbDXzy4&e=
> >
> > Thanks,
> > Toshio Nakamura
> >
> > Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote on 2019/11/22
07:07:03:
> >
> > > From: Sergey Bylokhov <Sergey.Bylokhov at oracle.com>
> > > To: Toshio 5 Nakamura <TOSHIONA at jp.ibm.com>
> > > Cc: swing-dev at openjdk.java.net
> > > Date: 2019/11/22 07:07
> > > Subject: [EXTERNAL] Re: <Swing Dev> RFR: JDK-8234386: [macos] NPE
> > > was thrown at expanding Choice from maximized frame
> > >
> > > It looks like after the .01 version you can inline the usage of
> > > Toolkit.getDefaultToolkit(), it is only used inside
> > > "if (!canPopupOverlapTaskBar()) {".
> > >
> > > On 11/21/19 5:10 am, Toshio 5 Nakamura wrote:
> > > > Hi Sergey,
> > > >
> > > > Thank you for the review.
> > > > How about the fix in webrev.01?
> > > >
> > > > To calculate Insets of default screen could be same as to set gc
> > > of default screen device, I think.
> > > > I found similar code in RepaintManager.
> > > >
> > > >
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Etnakamura_8234386_webrev.01&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=EVbFABcgo-X99_TGI2-qsMtyulHUruf8lAzMlVpVRqw&m=YAb7UAJvK163M5gyNfa97FP4BQaHv6rfJEvnA3huYeg&s=zgGV6ATfplyUNo77Oxl-mryU4fgemIRqEWPhmOvVOeU&e=
> > > >
> > > > Thanks,
> > > > Toshio Nakamura
> > > >
> > > > Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote on 2019/
> 11/21 17:42:39:
> > > >
> > > > > From: Sergey Bylokhov <Sergey.Bylokhov at oracle.com>
> > > > > To: Toshio 5 Nakamura <TOSHIONA at jp.ibm.com>, swing-
> dev at openjdk.java.net
> > > > > Date: 2019/11/21 17:42
> > > > > Subject: [EXTERNAL] Re: <Swing Dev> RFR: JDK-8234386: [macos]
NPE
> > > > > was thrown at expanding Choice from maximized frame
> > > > >
> > > > > Hi, Toshio.
> > > > >
> > > > > In a few lines above your fix, the code takes care of null GC
> > > and use the main
> > > > > screen size as a screen bound, so I think your change
> should calculate
> > > > > Insets for the main screen as well instead of using zeros.
> > > > >
> > > > > BTW probably GraphicsEnvironment.getMaximumWindowBounds()
> couldbe used at
> > > > > line 336 additionally to your fix.
> > > > >
> > > > > On 11/19/19 7:55 pm, Toshio 5 Nakamura wrote:
> > > > > > Hi All,
> > > > > >
> > > > > > Could you review the following fix? Also, I'd like to ask a
> > > > > sponsor of this fix, since I'm not a committer.
> > > > > >
> > > > > > Bug:
https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8234386&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=EVbFABcgo-X99_TGI2-qsMtyulHUruf8lAzMlVpVRqw&m=YAb7UAJvK163M5gyNfa97FP4BQaHv6rfJEvnA3huYeg&s=KmMdDSm8ChkTjloJB8mkohb4Irz6nxcaqjroPUIikrM&e=
> > > > > > Webrev:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Etnakamura_8234386_webrev.00&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=EVbFABcgo-X99_TGI2-qsMtyulHUruf8lAzMlVpVRqw&m=YAb7UAJvK163M5gyNfa97FP4BQaHv6rfJEvnA3huYeg&s=yhzO_H8w-5LzDxXkijH8ZlumRFmGLF8ho8eiuDjVYnM&e=
> > > > > >
> > > > > > Issue:
> > > > > > NullPointerException was thrown when Choice was expanded from
> > > > > maximized Frame.
> > > > > >
> > > > > > Fix:
> > > > > > Simply adding a null check to JPopupMenu. When the frame was
> > > > > maximized and expanding
> > > > > > Choice component, GraphicsConfiguration parameter can be
null.
> > > > > Detailed description was in JBS.
> > > > > >
> > > > > > Thanks,
> > > > > > Toshio Nakamura
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Best regards, Sergey.
> > > > >
> > > >
> > >
> > >
> > > --
> > > Best regards, Sergey.
> > >
> >
>
>
> --
> Best regards, Sergey.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20191125/81df5068/attachment.html>
More information about the swing-dev
mailing list