aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2004-07-30 14:50:50 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2004-07-30 14:50:50 +0000
commit2afed683ea103c28f0b17a3a996ba5e69bf8d749 (patch)
treea442b6f713d775dc41e2cad274ba6f5cea81feae /libjava
parent0a925a32e2dfcc71b77b2bd506e0239c206c2f61 (diff)
downloadgcc-2afed683ea103c28f0b17a3a996ba5e69bf8d749.zip
gcc-2afed683ea103c28f0b17a3a996ba5e69bf8d749.tar.gz
gcc-2afed683ea103c28f0b17a3a996ba5e69bf8d749.tar.bz2
2004-07-30 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/EmbeddedWindow.java (addNotify): Use AccessController to allow execution of privileged code. From-SVN: r85337
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/gnu/java/awt/EmbeddedWindow.java6
2 files changed, 11 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ba265cf..db17ad7 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-30 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/awt/EmbeddedWindow.java
+ (addNotify): Use AccessController to allow execution of privileged
+ code.
+
2004-07-29 Michael Koch <konqueror@gmx.de>
* gnu/java/lang/MainThread.java:
diff --git a/libjava/gnu/java/awt/EmbeddedWindow.java b/libjava/gnu/java/awt/EmbeddedWindow.java
index 5f1d71a..08bc027 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)