<Swing Dev> [10] RFR JDK-8173739: JPopupMenu does not disappear on KeyEvent
Sergey Bylokhov
sergey.bylokhov at oracle.com
Tue Jul 25 19:05:23 UTC 2017
Looks fine.
----- prasanta.sadhukhan at oracle.com wrote:
> Hi Sergey,
>
>
> On 7/21/2017 8:09 AM, Sergey Bylokhov wrote:
> > Hello, Prasanta.
> >
> > Can you please double check how the updated method will work when
> the security manager is enabled? For example the similar code in
> BasicInternalFrameTitlePane.postClosingEvent() have special check for
> that.
> Yes, we need to add that check for this updation too as it fails with
>
> AccessControlException without it.
> > Also please confirm that the updated code will be called if the user
> will hide the InternalFrame using: dispose(), setVisible(false),
> moveToBack() or toFront(), hide() or if the InternalFrame will be
> minimized.
> I have added similar fix for dispose() too. It now works for all
> these.
>
> http://cr.openjdk.java.net/~psadhukhan/8173739/webrev.02/
>
> Regards
> Prasanta
> > ----- prasanta.sadhukhan at oracle.com wrote:
> >
> >> Any further comments on this?
> >>
> >> Regards
> >> Prasanta
> >>
> >> On 7/12/2017 1:19 PM, Sergey Bylokhov wrote:
> >>> I'll take a look tomorrow just to refresh the memory on how this
> >> part of code works.
> >>> ----- prasanta.sadhukhan at oracle.com wrote:
> >>>
> >>>> Any further comments on this? Can it be committed now?
> >>>>
> >>>> Regards
> >>>> Prasanta
> >>>> On 7/4/2017 12:35 PM, Prasanta Sadhukhan wrote:
> >>>>> OK. Updated webrev to post ungrab from a method when internal
> >> frame
> >>>> is
> >>>>> deselected.
> >>>>>
> >>>>> There is no grab event. When popup menu is visible, it grab
> >> window
> >>>> in
> >>>>> BasicPopupMenuUI
> >>>>> public void stateChanged(ChangeEvent e) {
> >>>>> MenuSelectionManager msm =
> >>>>> MenuSelectionManager.defaultManager();
> >>>>> MenuElement[] p = msm.getSelectedPath();
> >>>>>
> >>>>> if (lastPathSelected.length == 0 && p.length != 0)
> {
> >>>>> grabWindow(p);
> >>>>> }
> >>>>>
> >>>>> http://cr.openjdk.java.net/~psadhukhan/8173739/webrev.01/
> >>>>>
> >>>>> Regards
> >>>>> Prasanta
> >>>>> On 7/4/2017 12:01 AM, Sergey Bylokhov wrote:
> >>>>>> There are a few questions which should be clarified, because
> >> from
> >>>> the
> >>>>>> first look we should updated some other method.
> >>>>>>
> >>>>>> - The updated method is protected and have no any
> information
> >> in
> >>>>>> the specification that it can post ungrab event.
> >>>>>> - If there are a few listeners then the code will post a
> few
> >>>> ungrab
> >>>>>> events. It is also interesting when the grab event is posted?
> >>>>>>
> >>>>>> ----- prasanta.sadhukhan at oracle.com wrote:
> >>>>>>
> >>>>>>> Hi All,
> >>>>>>>
> >>>>>>> Please review a fix for an issue where it is seen that if a
> >> popup
> >>>> menu
> >>>>>>> is shown in an internal frame and
> >>>>>>> another internal frame is shown on top of 1st frame, then
> even
> >>>> though
> >>>>>>> 1st internal frame gets hidden, the popup is still visible.
> >>>>>>>
> >>>>>>> Issue was popup menu was not getting cancelled when the 1st
> >>>> internal
> >>>>>>> frame gets hidden/deactivated.
> >>>>>>> Poprosed fix is to send an UngrabEventwhen the 1st internal
> >> frame
> >>>> gets
> >>>>>>> deactivated
> >>>>>>> so that BasicPopupMenuUI can catch the UngrabEvent and
> >> cancel
> >>>> the
> >>>>>>> popupmenu .
> >>>>>>>
> >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8173739
> >>>>>>> webrev:
> >> http://cr.openjdk.java.net/~psadhukhan/8173739/webrev.00/
> >>>>>>> Regards
> >>>>>>> Prasanta
More information about the swing-dev
mailing list