# HG changeset patch # User kcr # Date 1409088104 25200 # Node ID 41e163c45531def8be1e83977c57282c4aa58384 # Parent 38801bfb823c19076b9d97aacc2d1e13f02d9bcd [mq]: instrument-a11y diff --git a/modules/graphics/src/main/java/com/sun/glass/ui/Accessible.java b/modules/graphics/src/main/java/com/sun/glass/ui/Accessible.java --- a/modules/graphics/src/main/java/com/sun/glass/ui/Accessible.java +++ b/modules/graphics/src/main/java/com/sun/glass/ui/Accessible.java @@ -32,6 +32,7 @@ import java.security.PrivilegedAction; import com.sun.javafx.scene.NodeHelper; import com.sun.javafx.scene.SceneHelper; +import com.sun.javafx.tk.quantum.QuantumToolkit; import javafx.scene.AccessibleAction; import javafx.scene.AccessibleAttribute; import javafx.scene.AccessibleRole; @@ -154,6 +155,9 @@ private GetAttribute getAttribute = new GetAttribute(); public Object getAttribute(AccessibleAttribute attribute, Object... parameters) { + if (QuantumToolkit.getRenderLock().isHeldByCurrentThread()) { + System.err.println("***** Accessible.getAttribute: renderLock is held!"); + } getAttribute.attribute = attribute; getAttribute.parameters = parameters; return AccessController.doPrivileged(getAttribute, getAccessControlContext()); @@ -171,6 +175,9 @@ private ExecuteAction executeAction = new ExecuteAction(); public void executeAction(AccessibleAction action, Object... parameters) { + if (QuantumToolkit.getRenderLock().isHeldByCurrentThread()) { + System.err.println("***** Accessible.getAttribute: renderLock is held!"); + } executeAction.action = action; executeAction.parameters = parameters; AccessController.doPrivileged(executeAction, getAccessControlContext()); diff --git a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java --- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java +++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java @@ -130,9 +130,14 @@ import com.sun.javafx.logging.PulseLogger; import static com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED; import com.sun.prism.impl.ManagedResource; +import java.util.concurrent.locks.ReentrantLock; public final class QuantumToolkit extends Toolkit { + public static ReentrantLock getRenderLock() { + return ViewPainter.renderLock; + } + public static final boolean verbose = AccessController.doPrivileged((PrivilegedAction) () -> Boolean.getBoolean("quantum.verbose"));