You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/03/22 15:19:58 UTC
svn commit: r926097 -
/pivot/trunk/wtk/src/org/apache/pivot/wtk/DesktopApplicationContext.java
Author: gbrown
Date: Mon Mar 22 14:19:57 2010
New Revision: 926097
URL: http://svn.apache.org/viewvc?rev=926097&view=rev
Log:
Fix minor issue in managing root window listener.
Modified:
pivot/trunk/wtk/src/org/apache/pivot/wtk/DesktopApplicationContext.java
Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/DesktopApplicationContext.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/DesktopApplicationContext.java?rev=926097&r1=926096&r2=926097&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/DesktopApplicationContext.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/DesktopApplicationContext.java Mon Mar 22 14:19:57 2010
@@ -245,12 +245,12 @@ public final class DesktopApplicationCon
private static final WindowListener TOP_WINDOW_LISTENER = new WindowListener.Adapter() {
@Override
public void titleChanged(Window window, String previousTitle) {
- updateFrameTitleBar(window.getRootOwner());
+ updateFrameTitleBar(window);
}
@Override
public void iconChanged(Window window, Image previousIcon) {
- updateFrameTitleBar(window.getRootOwner());
+ updateFrameTitleBar(window);
}
};
@@ -476,18 +476,25 @@ public final class DesktopApplicationCon
}
private void topWindowChanged(Display display, final Window previousTopWindow) {
+ if (previousTopWindow != null) {
+ Window previousRootOwner = previousTopWindow.getRootOwner();
+ previousRootOwner.getWindowListeners().remove(TOP_WINDOW_LISTENER);
+ }
+
+ int n = display.getLength();
+ if (n > 0) {
+ Window topWindow = (Window)display.get(n - 1);
+ Window rootOwner = topWindow.getRootOwner();
+ rootOwner.getWindowListeners().add(TOP_WINDOW_LISTENER);
+ }
+
if (updateFrameTitleBarCallback == null) {
updateFrameTitleBarCallback = new Runnable() {
@Override
public void run() {
- if (previousTopWindow != null) {
- Window previousRootOwner = previousTopWindow.getRootOwner();
- previousRootOwner.getWindowListeners().remove(TOP_WINDOW_LISTENER);
- }
-
Display display = applicationContext.getDisplay();
- int n = display.getLength();
+ int n = display.getLength();
if (n == 0) {
windowedHostFrame.setTitle(DEFAULT_HOST_FRAME_TITLE);
windowedHostFrame.setIconImage(null);
@@ -495,8 +502,6 @@ public final class DesktopApplicationCon
Window topWindow = (Window)display.get(n - 1);
Window rootOwner = topWindow.getRootOwner();
updateFrameTitleBar(rootOwner);
-
- rootOwner.getWindowListeners().add(TOP_WINDOW_LISTENER);
}
updateFrameTitleBarCallback = null;