summaryrefslogtreecommitdiff
path: root/java/awt/Frame.java
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2006-10-29 22:49:21 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2006-10-29 22:49:21 +0000
commite36d2a50b5a1a677c7ecaf926e73a5dac386c1ef (patch)
tree9649a7997f35624c829eccad8c84c84e9c8e3fb9 /java/awt/Frame.java
parentbe24db70d4ff66302f560e12913f5b71acf3c12c (diff)
downloadclasspath-e36d2a50b5a1a677c7ecaf926e73a5dac386c1ef.tar.gz
2006-10-29 Andrew John Hughes <gnu_andrew@member.fsf.org>
* Merge of HEAD --> generics for 2006/10/04-2006/10/29.
Diffstat (limited to 'java/awt/Frame.java')
-rw-r--r--java/awt/Frame.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/java/awt/Frame.java b/java/awt/Frame.java
index e0c0d1ff3..d5cc7f531 100644
--- a/java/awt/Frame.java
+++ b/java/awt/Frame.java
@@ -488,7 +488,10 @@ public class Frame extends Window implements MenuContainer
private static void noteFrame(Frame f)
{
- weakFrames.add(new WeakReference(f));
+ synchronized (weakFrames)
+ {
+ weakFrames.add(new WeakReference(f));
+ }
}
public static Frame[] getFrames()
@@ -536,8 +539,7 @@ public class Frame extends Window implements MenuContainer
public int getState()
{
- // FIXME: State might have changed in the peer... Must check.
- return (state & ICONIFIED) != 0 ? ICONIFIED : NORMAL;
+ return (getExtendedState() & ICONIFIED) != 0 ? ICONIFIED : NORMAL;
}
/**
@@ -545,7 +547,13 @@ public class Frame extends Window implements MenuContainer
*/
public void setExtendedState(int state)
{
- this.state = state;
+ if (getToolkit().isFrameStateSupported(state))
+ {
+ this.state = state;
+ FramePeer p = (FramePeer) peer;
+ if (p != null)
+ p.setState(state);
+ }
}
/**
@@ -553,6 +561,9 @@ public class Frame extends Window implements MenuContainer
*/
public int getExtendedState()
{
+ FramePeer p = (FramePeer) peer;
+ if (p != null)
+ state = p.getState();
return state;
}