--- a/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java Fri Oct 16 11:20:38 2009 -0700
+++ b/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java Wed Oct 21 11:28:46 2009 -0700
@@ -46,22 +46,22 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.swing.LookAndFeel;
import javax.swing.UIDefaults;
import sun.awt.*;
+import sun.font.FontConfigManager;
import sun.font.FontManager;
import sun.misc.PerformanceLogger;
import sun.print.PrintJob2D;
import sun.security.action.GetBooleanAction;
+import sun.util.logging.PlatformLogger;
public final class XToolkit extends UNIXToolkit implements Runnable {
- private static Logger log = Logger.getLogger("sun.awt.X11.XToolkit");
- private static Logger eventLog = Logger.getLogger("sun.awt.X11.event.XToolkit");
- private static final Logger timeoutTaskLog = Logger.getLogger("sun.awt.X11.timeoutTask.XToolkit");
- private static Logger keyEventLog = Logger.getLogger("sun.awt.X11.kye.XToolkit");
- private static final Logger backingStoreLog = Logger.getLogger("sun.awt.X11.backingStore.XToolkit");
+ private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XToolkit");
+ private static final PlatformLogger eventLog = PlatformLogger.getLogger("sun.awt.X11.event.XToolkit");
+ private static final PlatformLogger timeoutTaskLog = PlatformLogger.getLogger("sun.awt.X11.timeoutTask.XToolkit");
+ private static final PlatformLogger keyEventLog = PlatformLogger.getLogger("sun.awt.X11.kye.XToolkit");
+ private static final PlatformLogger backingStoreLog = PlatformLogger.getLogger("sun.awt.X11.backingStore.XToolkit");
//There is 400 ms is set by default on Windows and 500 by default on KDE and GNOME.
//We use the same hardcoded constant.
@@ -95,6 +95,8 @@
*/
private XSettings xs;
+ private FontConfigManager fcManager = new FontConfigManager();
+
static int arrowCursor;
static TreeMap winMap = new TreeMap();
static HashMap specialPeerMap = new HashMap();
@@ -178,13 +180,13 @@
// Default XErrorHandler may just terminate the process. Don't call it.
// return XlibWrapper.CallErrorHandler(saved_error_handler, display, error.pData);
}
- if (log.isLoggable(Level.FINE)) {
- log.log(Level.FINE, "Unhandled XErrorEvent: " +
- "id=" + error.get_resourceid() + ", " +
- "serial=" + error.get_serial() + ", " +
- "ec=" + error.get_error_code() + ", " +
- "rc=" + error.get_request_code() + ", " +
- "mc=" + error.get_minor_code());
+ if (log.isLoggable(PlatformLogger.FINE)) {
+ log.fine("Unhandled XErrorEvent: " +
+ "id=" + error.get_resourceid() + ", " +
+ "serial=" + error.get_serial() + ", " +
+ "ec=" + error.get_error_code() + ", " +
+ "rc=" + error.get_request_code() + ", " +
+ "mc=" + error.get_minor_code());
}
return 0;
}
@@ -203,7 +205,7 @@
return SAVED_ERROR_HANDLER(display, event);
}
} catch (Throwable z) {
- log.log(Level.FINE, "Error in GlobalErrorHandler", z);
+ log.fine("Error in GlobalErrorHandler", z);
}
return 0;
}
@@ -321,16 +323,9 @@
((XAWTXSettings)xs).dispose();
}
freeXKB();
- if (log.isLoggable(Level.FINE)) {
+ if (log.isLoggable(PlatformLogger.FINE)) {
dumpPeers();
}
-
- awtLock();
- try {
- XlibWrapper.XSetErrorHandler(saved_error_handler);
- } finally {
- awtUnlock();
- }
}
});
}
@@ -564,8 +559,8 @@
}
static void processException(Throwable thr) {
- if (log.isLoggable(Level.WARNING)) {
- log.log(Level.WARNING, "Exception on Toolkit thread", thr);
+ if (log.isLoggable(PlatformLogger.WARNING)) {
+ log.warning("Exception on Toolkit thread", thr);
}
}
@@ -626,8 +621,8 @@
continue;
}
- if (eventLog.isLoggable(Level.FINER)) {
- eventLog.log(Level.FINER, "{0}", String.valueOf(ev));
+ if (eventLog.isLoggable(PlatformLogger.FINER)) {
+ eventLog.finer("{0}", ev);
}
// Check if input method consumes the event
@@ -642,13 +637,13 @@
}
}
}
- if( keyEventLog.isLoggable(Level.FINE) && (ev.get_type() == XConstants.KeyPress || ev.get_type() == XConstants.KeyRelease) ) {
+ if( keyEventLog.isLoggable(PlatformLogger.FINE) && (ev.get_type() == XConstants.KeyPress || ev.get_type() == XConstants.KeyRelease) ) {
keyEventLog.fine("before XFilterEvent:"+ev);
}
if (XlibWrapper.XFilterEvent(ev.getPData(), w)) {
continue;
}
- if( keyEventLog.isLoggable(Level.FINE) && (ev.get_type() == XConstants.KeyPress || ev.get_type() == XConstants.KeyRelease) ) {
+ if( keyEventLog.isLoggable(PlatformLogger.FINE) && (ev.get_type() == XConstants.KeyPress || ev.get_type() == XConstants.KeyRelease) ) {
keyEventLog.fine("after XFilterEvent:"+ev); // IS THIS CORRECT?
}
@@ -1335,7 +1330,7 @@
}
static void dumpPeers() {
- if (log.isLoggable(Level.FINE)) {
+ if (log.isLoggable(PlatformLogger.FINE)) {
log.fine("Mapped windows:");
Iterator iter = winMap.entrySet().iterator();
while (iter.hasNext()) {
@@ -1431,7 +1426,7 @@
}
} catch (InterruptedException ie) {
// Note: the returned timeStamp can be incorrect in this case.
- if (log.isLoggable(Level.FINE)) log.fine("Catched exception, timeStamp may not be correct (ie = " + ie + ")");
+ if (log.isLoggable(PlatformLogger.FINE)) log.fine("Catched exception, timeStamp may not be correct (ie = " + ie + ")");
}
} finally {
awtUnlock();
@@ -1530,7 +1525,7 @@
*/
if (desktopProperties.get(SunToolkit.DESKTOPFONTHINTS) == null) {
if (XWM.isKDE2()) {
- Object hint = FontManager.getFontConfigAAHint();
+ Object hint = fcManager.getFontConfigAAHint();
if (hint != null) {
/* set the fontconfig/KDE property so that
* getDesktopHints() below will see it
@@ -1764,7 +1759,7 @@
} finally {
awtUnlock();
}
- if (log.isLoggable(Level.FINE)) {
+ if (log.isLoggable(PlatformLogger.FINE)) {
log.fine("metaMask = " + metaMask);
log.fine("altMask = " + altMask);
log.fine("numLockMask = " + numLockMask);
@@ -1786,11 +1781,11 @@
}
awtLock();
try {
- if (timeoutTaskLog.isLoggable(Level.FINER)) {
+ if (timeoutTaskLog.isLoggable(PlatformLogger.FINER)) {
timeoutTaskLog.finer("Removing task " + task);
}
if (timeoutTasks == null) {
- if (timeoutTaskLog.isLoggable(Level.FINER)) {
+ if (timeoutTaskLog.isLoggable(PlatformLogger.FINER)) {
timeoutTaskLog.finer("Task is not scheduled");
}
return;
@@ -1837,13 +1832,11 @@
awtLock();
try {
- if (timeoutTaskLog.isLoggable(Level.FINER)) {
- timeoutTaskLog.log(Level.FINER, "XToolkit.schedule(): current time={0}" +
- "; interval={1}" +
- "; task being added={2}" + "; tasks before addition={3}",
- new Object[] {Long.valueOf(System.currentTimeMillis()),
- Long.valueOf(interval), String.valueOf(task),
- String.valueOf(timeoutTasks)});
+ if (timeoutTaskLog.isLoggable(PlatformLogger.FINER)) {
+ timeoutTaskLog.finer("XToolkit.schedule(): current time={0}" +
+ "; interval={1}" +
+ "; task being added={2}" + "; tasks before addition={3}",
+ Long.valueOf(System.currentTimeMillis()), Long.valueOf(interval), task, timeoutTasks);
}
if (timeoutTasks == null) {
@@ -1886,10 +1879,9 @@
* Called from run() under awtLock.
*/
private static void callTimeoutTasks() {
- if (timeoutTaskLog.isLoggable(Level.FINER)) {
- timeoutTaskLog.log(Level.FINER, "XToolkit.callTimeoutTasks(): current time={0}" +
- "; tasks={1}",
- new Object[] {Long.valueOf(System.currentTimeMillis()), String.valueOf(timeoutTasks)});
+ if (timeoutTaskLog.isLoggable(PlatformLogger.FINER)) {
+ timeoutTaskLog.finer("XToolkit.callTimeoutTasks(): current time={0}" +
+ "; tasks={1}", Long.valueOf(System.currentTimeMillis()), timeoutTasks);
}
if (timeoutTasks == null || timeoutTasks.isEmpty()) {
@@ -1905,10 +1897,9 @@
for (Iterator iter = tasks.iterator(); iter.hasNext();) {
Runnable task = (Runnable)iter.next();
- if (timeoutTaskLog.isLoggable(Level.FINER)) {
- timeoutTaskLog.log(Level.FINER, "XToolkit.callTimeoutTasks(): current time={0}" +
- "; about to run task={1}",
- new Object[] {Long.valueOf(currentTime), String.valueOf(task)});
+ if (timeoutTaskLog.isLoggable(PlatformLogger.FINER)) {
+ timeoutTaskLog.finer("XToolkit.callTimeoutTasks(): current time={0}" +
+ "; about to run task={1}", Long.valueOf(currentTime), task);
}
try {
@@ -1981,7 +1972,7 @@
*/
long current_time_utc = System.currentTimeMillis();
- if (log.isLoggable(Level.FINER)) {
+ if (log.isLoggable(PlatformLogger.FINER)) {
log.finer("reset_time=" + reset_time_utc + ", current_time=" + current_time_utc
+ ", server_offset=" + server_offset + ", wrap_time=" + WRAP_TIME_MILLIS);
}
@@ -1990,7 +1981,7 @@
reset_time_utc = System.currentTimeMillis() - getCurrentServerTime();
}
- if (log.isLoggable(Level.FINER)) {
+ if (log.isLoggable(PlatformLogger.FINER)) {
log.finer("result = " + (reset_time_utc + server_offset));
}
return reset_time_utc + server_offset;
@@ -2075,14 +2066,14 @@
if (prop == null) {
backingStoreType = XConstants.NotUseful;
- if (backingStoreLog.isLoggable(Level.CONFIG)) {
+ if (backingStoreLog.isLoggable(PlatformLogger.CONFIG)) {
backingStoreLog.config("The system property sun.awt.backingStore is not set" +
", by default backingStore=NotUseful");
}
return;
}
- if (backingStoreLog.isLoggable(Level.CONFIG)) {
+ if (backingStoreLog.isLoggable(PlatformLogger.CONFIG)) {
backingStoreLog.config("The system property sun.awt.backingStore is " + prop);
}
prop = prop.toLowerCase();
@@ -2094,7 +2085,7 @@
backingStoreType = XConstants.NotUseful;
}
- if (backingStoreLog.isLoggable(Level.CONFIG)) {
+ if (backingStoreLog.isLoggable(PlatformLogger.CONFIG)) {
backingStoreLog.config("backingStore(as provided by the system property)=" +
( backingStoreType == XConstants.NotUseful ? "NotUseful"
: backingStoreType == XConstants.WhenMapped ?
@@ -2104,7 +2095,7 @@
if (sun.java2d.x11.X11SurfaceData.isDgaAvailable()) {
backingStoreType = XConstants.NotUseful;
- if (backingStoreLog.isLoggable(Level.CONFIG)) {
+ if (backingStoreLog.isLoggable(PlatformLogger.CONFIG)) {
backingStoreLog.config("DGA is available, backingStore=NotUseful");
}
@@ -2119,7 +2110,7 @@
== XConstants.NotUseful) {
backingStoreType = XConstants.NotUseful;
- if (backingStoreLog.isLoggable(Level.CONFIG)) {
+ if (backingStoreLog.isLoggable(PlatformLogger.CONFIG)) {
backingStoreLog.config("Backing store is not available on the screen " +
i + ", backingStore=NotUseful");
}
@@ -2365,10 +2356,7 @@
// Wait for selection notify for oops on win
long event_number = getEventNumber();
XAtom atom = XAtom.get("WM_S0");
- if (eventLog.isLoggable(Level.FINER)) {
- eventLog.log(Level.FINER, "WM_S0 selection owner {0}",
- new Object[] {String.valueOf(XlibWrapper.XGetSelectionOwner(getDisplay(), atom.getAtom()))});
- }
+ eventLog.finer("WM_S0 selection owner {0}", XlibWrapper.XGetSelectionOwner(getDisplay(), atom.getAtom()));
XlibWrapper.XConvertSelection(getDisplay(), atom.getAtom(),
XAtom.get("VERSION").getAtom(), oops.getAtom(),
win.getWindow(), XConstants.CurrentTime);
@@ -2394,7 +2382,7 @@
// If selection update failed we can simply wait some time
// hoping some events will arrive
awtUnlock();
- eventLog.log(Level.FINEST, "Emergency sleep");
+ eventLog.finest("Emergency sleep");
try {
Thread.sleep(WORKAROUND_SLEEP);
} catch (InterruptedException ie) {
@@ -2406,7 +2394,7 @@
return getEventNumber() - event_number > 2;
} finally {
removeEventDispatcher(win.getWindow(), oops_waiter);
- eventLog.log(Level.FINER, "Exiting syncNativeQueue");
+ eventLog.finer("Exiting syncNativeQueue");
awtUnlock();
}
}