summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-30 14:50:50 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-30 14:50:50 +0000
commit67c7bf80afaf823ba2d24e5205e57544d823766b (patch)
treea442b6f713d775dc41e2cad274ba6f5cea81feae /libjava/gnu/java
parent41c3c3c90a844ce2be1420938c09d098b745272a (diff)
downloadppe42-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')
-rw-r--r--libjava/gnu/java/awt/EmbeddedWindow.java6
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)
OpenPOWER on IntegriCloud