[7u6] Review request for 7159266: [macosx] ApplicationDelegate should not be set in the headless mode (original) (raw)

Scott Kovatch scott.kovatch at oracle.com
Thu Apr 5 13:58:15 PDT 2012


Support for open-document events was added into the SWT about 4 years ago. I remember Kevin Barnes implemented it across all SWT platforms. I think it shows up as an event you can listen for on the Display.

I'm not aware of any SWT apps that cared about sleep/wake events, though I do know there were apps that wanted to add handlers on the application menu items. I added the ability to listen for app menu events entirely in SWT in 3.7. Prior to that you had to use eAWT.

-- Scott


scott.kovatch at oracle.com Santa Clara/Pleasanton, CA

On Apr 5, 2012, at 1:31 PM, Mike Swingler wrote:

How would an SWT developer accept new "open document" file double-clicks, or listen for sleep/wake events? AFAIK, eAWT is the only aperture that handles that right now.

Regards, Mike Swingler Apple Inc. On Apr 5, 2012, at 1:11 PM, steve.x.northover at oracle.com wrote:

Hi all,

Headless mode works fine for SWT. SWT doesn't use eAWT to do Quit etc. Instead, it uses the appropriate native cocoa calls. Steve On 05/04/2012 11:23 AM, Anthony Petrov wrote: On 04/05/12 19:07, Mike Swingler wrote:

Please review a fix for http://bugs.sun.com/bugdatabase/viewbug.do?bugid=7159266 at:

http://cr.openjdk.java.net/~anthony/7u6-4-fxHang-7159266.0/ With this fix we avoid setting an application delegate when AWT is started in the headless mode. This prevents a hang when another GUI toolkit (e.g. JavaFX) is already running in the same Java process. This would logically mean that you won't get eAWT events (file open, quit, etc) while started in this mode. Does this impact SWT as well? In the headless mode an application doesn't have any UI, and as such there's no way to generate e.g. a Quit action. Hence the application delegate isn't necessary in this mode. SWT uses a special "SWT mode" (== -XstartOnFirstThread) which is different from the headless mode. In the SWT mode the delegate will still be installed. I think this may not work in case of running an SWT application together with the AWT in headless mode. However, I can't imagine who might want to run SWT/AWT in such configuration because the headless mode is supposed to be primarily used in server environments where a display is physically unavailable, in which case SWT wouldn't be able to run there either. -- best regards, Anthony



More information about the macosx-port-dev mailing list