diff options
| author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-30 14:50:50 +0000 |
|---|---|---|
| committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-30 14:50:50 +0000 |
| commit | 67c7bf80afaf823ba2d24e5205e57544d823766b (patch) | |
| tree | a442b6f713d775dc41e2cad274ba6f5cea81feae /libjava/gnu/java/awt/EmbeddedWindow.java | |
| parent | 41c3c3c90a844ce2be1420938c09d098b745272a (diff) | |
| download | ppe42-gcc-67c7bf80afaf823ba2d24e5205e57544d823766b.tar.gz ppe42-gcc-67c7bf80afaf823ba2d24e5205e57544d823766b.zip | |
2004-07-30 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/EmbeddedWindow.java
(addNotify): Use AccessController to allow execution of privileged
code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85337 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java/awt/EmbeddedWindow.java')
| -rw-r--r-- | libjava/gnu/java/awt/EmbeddedWindow.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libjava/gnu/java/awt/EmbeddedWindow.java b/libjava/gnu/java/awt/EmbeddedWindow.java index 5f1d71a8068..08bc02755ea 100644 --- a/libjava/gnu/java/awt/EmbeddedWindow.java +++ b/libjava/gnu/java/awt/EmbeddedWindow.java @@ -40,11 +40,13 @@ package gnu.java.awt; import gnu.classpath.Configuration; import gnu.java.awt.peer.EmbeddedWindowPeer; +import gnu.java.security.action.SetAccessibleAction; import java.awt.Component; import java.awt.Frame; import java.awt.Toolkit; import java.lang.reflect.Field; +import java.security.AccessController; /** * Represents an AWT window that can be embedded into another @@ -88,13 +90,15 @@ public class EmbeddedWindow extends Frame if (! (tk instanceof EmbeddedWindowSupport)) throw new UnsupportedOperationException - ("Embedded windows are not supported by the current peers: " + tk.getClass()); + ("Embedded windows are not supported by the current peers: " + + tk.getClass()); // Circumvent the package-privateness of the AWT internal // java.awt.Component.peer member variable. try { Field peerField = Component.class.getDeclaredField("peer"); + AccessController.doPrivileged(new SetAccessibleAction(peerField)); peerField.set(this, ((EmbeddedWindowSupport) tk).createEmbeddedWindow (this)); } catch (IllegalAccessException e) |

