Control: tags -1 + patch upstream Control: reassign -1 openjdk-7 Control: clone -1 -2 Control: reassign -2 openjdk-8 Control: clone -1 -3 Control: reassign -3 openjdk-9
Hello, Raphaël Hertzog, on Mon 20 Jun 2016 14:11:41 +0200, wrote: > I got a new report of a problem related to libatk-wrapper-java: > https://bugs.kali.org/view.php?id=3367 > > You can reproduce it with the zaproxy package: Thanks for the easy reproducer! This is actually a bug in openjdk. I am thus reassigning the bug, and attaching patches for openjdk-{7,8,9}. Samuel
--- openjdk/jdk/src/share/classes/javax/swing/JList.java +++ openjdk/jdk/src/share/classes/javax/swing/JList.java @@ -3371,7 +3371,12 @@ public class JList<E> extends JComponent } public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -3387,15 +3392,30 @@ public class JList<E> extends JComponent } public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- openjdk/jdk/src/share/classes/javax/swing/JTree.java +++ openjdk/jdk/src/share/classes/javax/swing/JTree.java @@ -4962,7 +4962,7 @@ public class JTree extends JComponent im public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { - return getCurrentAccessibleContext().getAccessibleSelection(); + return ac.getAccessibleSelection(); } else { return this; } @@ -4977,7 +4977,7 @@ public class JTree extends JComponent im public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleText(); + return ac.getAccessibleText(); } else { return null; } @@ -4992,7 +4992,7 @@ public class JTree extends JComponent im public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleValue(); + return ac.getAccessibleValue(); } else { return null; } --- openjdk/jdk/src/share/classes/javax/swing/table/JTableHeader.java +++ openjdk/jdk/src/share/classes/javax/swing/table/JTableHeader.java @@ -1083,7 +1083,12 @@ public class JTableHeader extends JCompo } public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -1099,15 +1104,30 @@ public class JTableHeader extends JCompo } public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- openjdk/jdk/src/share/classes/javax/swing/JTable.java +++ openjdk/jdk/src/share/classes/javax/swing/JTable.java @@ -8218,7 +8218,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleAction</code>, or <code>null</code> */ public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -8240,7 +8245,12 @@ public class JTable extends JComponent i * <code>null</code> */ public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } /** @@ -8250,7 +8260,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleText</code>, or <code>null</code> */ public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } /** @@ -8260,7 +8275,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleValue</code>, or <code>null</code> */ public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } @@ -9019,7 +9039,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleAction</code>, or <code>null</code> */ public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -9041,7 +9066,12 @@ public class JTable extends JComponent i * <code>null</code> */ public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } /** @@ -9051,7 +9081,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleText</code>, or <code>null</code> */ public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } /** @@ -9061,7 +9096,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleValue</code>, or <code>null</code> */ public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- openjdk/jdk/src/windows/classes/com/sun/java/accessibility/AccessBridge.java +++ openjdk/jdk/src/windows/classes/com/sun/java/accessibility/AccessBridge.java @@ -6505,7 +6505,7 @@ final public class AccessBridge extends public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { - return getCurrentAccessibleContext().getAccessibleSelection(); + return ac.getAccessibleSelection(); } else { return this; } @@ -6520,7 +6520,7 @@ final public class AccessBridge extends public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleText(); + return ac.getAccessibleText(); } else { return null; } @@ -6535,7 +6535,7 @@ final public class AccessBridge extends public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleValue(); + return ac.getAccessibleValue(); } else { return null; }
--- a/jdk/src/share/classes/javax/swing/JList.java +++ a/jdk/src/share/classes/javax/swing/JList.java @@ -3371,7 +3371,12 @@ public class JList<E> extends JComponent } public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -3387,15 +3392,30 @@ public class JList<E> extends JComponent } public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- a/jdk/src/share/classes/javax/swing/JTree.java +++ a/jdk/src/share/classes/javax/swing/JTree.java @@ -4962,7 +4962,7 @@ public class JTree extends JComponent im public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { - return getCurrentAccessibleContext().getAccessibleSelection(); + return ac.getAccessibleSelection(); } else { return this; } @@ -4977,7 +4977,7 @@ public class JTree extends JComponent im public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleText(); + return ac.getAccessibleText(); } else { return null; } @@ -4992,7 +4992,7 @@ public class JTree extends JComponent im public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleValue(); + return ac.getAccessibleValue(); } else { return null; } --- a/jdk/src/share/classes/javax/swing/table/JTableHeader.java +++ a/jdk/src/share/classes/javax/swing/table/JTableHeader.java @@ -1083,7 +1083,12 @@ public class JTableHeader extends JCompo } public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -1099,15 +1104,30 @@ public class JTableHeader extends JCompo } public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- a/jdk/src/share/classes/javax/swing/JTable.java +++ a/jdk/src/share/classes/javax/swing/JTable.java @@ -8218,7 +8218,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleAction</code>, or <code>null</code> */ public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -8240,7 +8245,12 @@ public class JTable extends JComponent i * <code>null</code> */ public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } /** @@ -8250,7 +8260,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleText</code>, or <code>null</code> */ public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } /** @@ -8260,7 +8275,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleValue</code>, or <code>null</code> */ public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } @@ -9019,7 +9039,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleAction</code>, or <code>null</code> */ public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -9041,7 +9066,12 @@ public class JTable extends JComponent i * <code>null</code> */ public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } /** @@ -9051,7 +9081,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleText</code>, or <code>null</code> */ public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } /** @@ -9061,7 +9096,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleValue</code>, or <code>null</code> */ public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- a/jdk/src/windows/classes/com/sun/java/accessibility/AccessBridge.java +++ a/jdk/src/windows/classes/com/sun/java/accessibility/AccessBridge.java @@ -6505,7 +6505,7 @@ final public class AccessBridge extends public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { - return getCurrentAccessibleContext().getAccessibleSelection(); + return ac.getAccessibleSelection(); } else { return this; } @@ -6520,7 +6520,7 @@ final public class AccessBridge extends public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleText(); + return ac.getAccessibleText(); } else { return null; } @@ -6535,7 +6535,7 @@ final public class AccessBridge extends public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleValue(); + return ac.getAccessibleValue(); } else { return null; }
--- a/jdk/src/java.desktop/share/classes/javax/swing/JList.java +++ a/jdk/src/java.desktop/share/classes/javax/swing/JList.java @@ -3371,7 +3371,12 @@ public class JList<E> extends JComponent } public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -3387,15 +3392,30 @@ public class JList<E> extends JComponent } public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java +++ a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java @@ -4962,7 +4962,7 @@ public class JTree extends JComponent im public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { - return getCurrentAccessibleContext().getAccessibleSelection(); + return ac.getAccessibleSelection(); } else { return this; } @@ -4977,7 +4977,7 @@ public class JTree extends JComponent im public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleText(); + return ac.getAccessibleText(); } else { return null; } @@ -4992,7 +4992,7 @@ public class JTree extends JComponent im public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleValue(); + return ac.getAccessibleValue(); } else { return null; } --- a/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java +++ a/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java @@ -1083,7 +1083,12 @@ public class JTableHeader extends JCompo } public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -1099,15 +1104,30 @@ public class JTableHeader extends JCompo } public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- a/jdk/src/java.desktop/share/classes/javax/swing/JTable.java +++ a/jdk/src/java.desktop/share/classes/javax/swing/JTable.java @@ -8218,7 +8218,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleAction</code>, or <code>null</code> */ public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -8240,7 +8245,12 @@ public class JTable extends JComponent i * <code>null</code> */ public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } /** @@ -8250,7 +8260,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleText</code>, or <code>null</code> */ public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } /** @@ -8260,7 +8275,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleValue</code>, or <code>null</code> */ public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } @@ -9019,7 +9039,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleAction</code>, or <code>null</code> */ public AccessibleAction getAccessibleAction() { - return getCurrentAccessibleContext().getAccessibleAction(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleAction(); + } else { + return null; + } } /** @@ -9041,7 +9066,12 @@ public class JTable extends JComponent i * <code>null</code> */ public AccessibleSelection getAccessibleSelection() { - return getCurrentAccessibleContext().getAccessibleSelection(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleSelection(); + } else { + return null; + } } /** @@ -9051,7 +9081,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleText</code>, or <code>null</code> */ public AccessibleText getAccessibleText() { - return getCurrentAccessibleContext().getAccessibleText(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleText(); + } else { + return null; + } } /** @@ -9061,7 +9096,12 @@ public class JTable extends JComponent i * @return the <code>AccessibleValue</code>, or <code>null</code> */ public AccessibleValue getAccessibleValue() { - return getCurrentAccessibleContext().getAccessibleValue(); + AccessibleContext ac = getCurrentAccessibleContext(); + if (ac != null) { + return ac.getAccessibleValue(); + } else { + return null; + } } --- a/jdk/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java +++ a/jdk/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java @@ -6505,7 +6505,7 @@ final public class AccessBridge extends public AccessibleSelection getAccessibleSelection() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null && isLeaf) { - return getCurrentAccessibleContext().getAccessibleSelection(); + return ac.getAccessibleSelection(); } else { return this; } @@ -6520,7 +6520,7 @@ final public class AccessBridge extends public AccessibleText getAccessibleText() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleText(); + return ac.getAccessibleText(); } else { return null; } @@ -6535,7 +6535,7 @@ final public class AccessBridge extends public AccessibleValue getAccessibleValue() { AccessibleContext ac = getCurrentAccessibleContext(); if (ac != null) { - return getCurrentAccessibleContext().getAccessibleValue(); + return ac.getAccessibleValue(); } else { return null; }