# HG changeset patch # User uta # Date 1263391823 -10800 # Node ID 3a5dc2107fedfb65a293c51856194e2aa8782412 # Parent 85d01a4fe1159e5ee38905d889cf7bf79efcfad1# Parent 34aa9ad0f200030729e685a1f34cfdfeba87e0de Merge diff -r 85d01a4fe115 -r 3a5dc2107fed jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java --- a/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java Thu Dec 24 17:19:09 2009 +0300 +++ b/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java Wed Jan 13 17:10:23 2010 +0300 @@ -189,21 +189,22 @@ * WARNING: this method is executed on Toolkit thread! */ private void display() { - String tooltipString = liveArguments.getTooltipString(); - if (tooltipString == null) { - return; - } else if (tooltipString.length() > TOOLTIP_MAX_LENGTH) { - textLabel.setText(tooltipString.substring(0, TOOLTIP_MAX_LENGTH)); - } else { - textLabel.setText(tooltipString); - } - // Execute on EDT to avoid deadlock (see 6280857). SunToolkit.executeOnEventHandlerThread(target, new Runnable() { public void run() { if (liveArguments.isDisposed()) { return; } + + String tooltipString = liveArguments.getTooltipString(); + if (tooltipString == null) { + return; + } else if (tooltipString.length() > TOOLTIP_MAX_LENGTH) { + textLabel.setText(tooltipString.substring(0, TOOLTIP_MAX_LENGTH)); + } else { + textLabel.setText(tooltipString); + } + Point pointer = (Point)AccessController.doPrivileged(new PrivilegedAction() { public Object run() { if (!isPointerOverTrayIcon(liveArguments.getBounds())) {