+1

Thanks,

Artem

On 7/11/2013 3:22 PM, Anthony Petrov wrote:
The fix still looks fine to me.

--
best regards,
Anthony

On 07/11/13 06:13, Leonid Romanov wrote:

On Jul 9, 2013, at 6:38 PM, Artem Ananiev<[email protected]>
wrote:


On 7/8/2013 8:35 PM, Leonid Romanov wrote:
I encountered the case of unset handlerContext while testing
SwingSet3 Web Start app.  It is triggered by selecting
SwingSet3->About from the global menu bar. Since SwingSet3 doesn't
use eAWT, it doesn't register any handlers, so selecting "About"
menu item just shows standard Cocoa About dialog. In the code, it is
accomplished by the following snippet from
_AppEventDispatcher.dispatch:

             if (localHandler == null) {
                performDefaultAction(event);
             } else {
                 performUsing(localHandler, event);
             }

_AppEventDispatcher.performDefaultAction() is an abstract method,
implemented in _AboutDispacther (shows native about dialog ) and
_QuitDispatcher (quits the app). So, in order to display default
About dialog we have to do the dispatching, even though
handlerContext hasn't been set.

Do I get it right, that About and Quit menu handlers are implemented
in eAWT code, not in the application code, and in these and only
these cases we call performDefaultAction() instead of performUsing()?
Could we then write it the following way:

     // handler hasn't been set
     if (handlerContext == null) {
         performDefaultAction(event);
     } else {
         SunToolkit.invokeLaterOnAppContext(handlerContext, r);
     }


Yes, you are right. Done. I've also cleared
/_AppEventHandler._AppEventMultiplexor code a bit. Here is the new
webrev:
http://cr.openjdk.java.net/~leonidr/8020038/webrev.01/


Reply via email to