src/share/classes/sun/awt/SunToolkit.java

Print this page

        

*** 546,555 **** --- 546,568 ---- */ public static void postEvent(AppContext appContext, AWTEvent event) { if (event == null) { throw new NullPointerException(); } + + AWTAccessor.SequencedEventAccessor sea = AWTAccessor.getSequencedEventAccessor(); + if (sea != null && sea.isSequencedEvent(event)) { + AWTEvent nested = sea.getNested(event); + if (nested.getID() == WindowEvent.WINDOW_LOST_FOCUS && + nested instanceof TimedWindowEvent) + { + TimedWindowEvent twe = (TimedWindowEvent)nested; + ((SunToolkit)Toolkit.getDefaultToolkit()). + setDeactivationTime((Window)twe.getSource(), twe.getWhen()); + } + } + // All events posted via this method are system-generated. // Placing the following call here reduces considerably the // number of places throughout the toolkit that would // otherwise have to be modified to precisely identify // system-generated events.
*** 1959,1968 **** --- 1972,1992 ---- */ public boolean isNativeGTKAvailable() { return false; } + private WeakHashMap<Window, Long> deactivationTimes = new WeakHashMap<Window, Long>(); + + public synchronized void setDeactivationTime(Window w, long time) { + deactivationTimes.put(w, time); + } + + public synchronized long getDeactivationTime(Window w) { + Long time = deactivationTimes.get(w); + return time == null ? -1 : time; + } + // Cosntant alpha public boolean isWindowOpacitySupported() { return false; }