<AWT Dev> [7u6] Review request for 7181027: [macosx] Unable to use headless mode

Anthony Petrov anthony.petrov at oracle.com
Thu Jul 12 05:33:22 PDT 2012

The logic is all in src/solaris/native/java/lang/java_props_macosx.c. 
The getPreferredToolkit() returns the HToolkit constant when the 
headless mode is needed on the Mac. And the GetJavaProperties() will 
then choose the sun.awt.HToolkit as the toolkit. Interesting.

But it all seems to work fine in headless mode on the Mac, right?

Leonid, did you run headless regression tests with your fix, btw?

best regards,

On 07/12/12 12:58, Leonid Romanov wrote:
> Perhaps Anthony might be able to answer your question: he has tinkered a lot with headless related stuff.
> David, are you implying that in the current form my fix is no-go?
> On 12.07.2012, at 5:15, David Holmes wrote:
>> On 11/07/2012 11:46 PM, Leonid Romanov wrote:
>>> Hi,
>>> Please review a fix for 7181027: [macosx] Unable to use headless mode. The problem here is that for headless mode  "java.awt.graphicsenv" system property should be CGraphicsEnvironment because the way GraphicsEnvironment.createGE() method works: it first instantiates GraphicsEnvironment instance and then wraps it with HeadlessGraphicsEnvironment if in headless mode. This means twe can't use java.awt.graphicsenv property to determine whether we are in headless mode or not. So, I've replaced it with a toolkit check: if it's HToolkit, then we are in headless.
>> sun.awt.HToolkit was introduced for use by SE-Embedded's reduced headless JRE. How did the OSX port end up using it ???
>> Headless handling on OSX should be like regular headless on Linux, Solaris.
>> David
>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7181027
>>> Webrev: http://cr.openjdk.java.net/~leonidr/7181027/webrev.00/
>>> Thanks,
>>> Leonid.

More information about the awt-dev mailing list