--- old/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java 2015-03-02 18:46:14.428081361 +0300 +++ new/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java 2015-03-02 18:46:14.316081362 +0300 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -29,11 +29,10 @@ import java.awt.color.ColorSpace; import java.awt.image.*; import java.security.AccessController; -import java.security.PrivilegedAction; import sun.security.action.GetIntegerAction; import com.sun.java.swing.plaf.gtk.GTKConstants.TextDirection; +import sun.awt.X11.XToolkit; import sun.java2d.opengl.OGLRenderQueue; -import java.lang.reflect.InvocationTargetException; public abstract class UNIXToolkit extends SunToolkit { @@ -73,16 +72,16 @@ if (nativeGTKLoaded != null) { // We've already attempted to load GTK, so just return the // status of that attempt. - return nativeGTKLoaded.booleanValue(); + return nativeGTKLoaded; } else if (nativeGTKAvailable != null) { // We've already checked the availability of the native GTK // libraries, so just return the status of that attempt. - return nativeGTKAvailable.booleanValue(); + return nativeGTKAvailable; } else { boolean success = check_gtk(); - nativeGTKAvailable = Boolean.valueOf(success); + nativeGTKAvailable = success; return success; } } @@ -99,11 +98,15 @@ public boolean loadGTK() { synchronized (GTK_LOCK) { if (nativeGTKLoaded == null) { - boolean success = load_gtk(); - nativeGTKLoaded = Boolean.valueOf(success); + XToolkit.awtLock(); + try { + nativeGTKLoaded = load_gtk(); + } finally { + XToolkit.awtUnlock(); + } } } - return nativeGTKLoaded.booleanValue(); + return nativeGTKLoaded; } /** @@ -252,6 +255,7 @@ private native void nativeSync(); + @Override public void sync() { // flush the X11 buffer nativeSync(); @@ -266,6 +270,8 @@ * This requires that the Gnome properties have already been gathered. */ public static final String FONTCONFIGAAHINT = "fontconfig/Antialias"; + + @Override protected RenderingHints getDesktopAAHints() { Object aaValue = getDesktopProperty("gnome.Xft/Antialias"); @@ -288,8 +294,8 @@ * us to default to "OFF". I don't think that's the best guess. * So if its !=0 then lets assume AA. */ - boolean aa = Boolean.valueOf(((aaValue instanceof Number) && - ((Number)aaValue).intValue() != 0)); + boolean aa = ((aaValue instanceof Number) + && ((Number) aaValue).intValue() != 0); Object aaHint; if (aa) { String subpixOrder =