• David Ostrovsky's avatar
    fdo#58995 fix focus gain/lost events dropping on JDK 1.7 · 7746de6e
    David Ostrovsky yazdı
    With JDK upgrade to 1.7.x focus gain/lost events were dropped and thus not
    discoverable by AT tools.
    
    The problem has nothing to do with different packaging of JAB (2.0.3 is
    included with JDK 1.7u6 and higher).
    
    The reason for the event droping was a new check in
    DefaultKeyboardFocusManager.java that was introduced in JDK 1.7.x:
    
    @@ -294,18 +271,10 @@ public class DefaultKeyboardFocusManager
            extends KeyboardFocusManager {
    
    -      if (!(newFocusedWindow.isFocusableWindow()
    -               && newFocusedWindow.isVisible()
    -               && newFocusedWindow.isDisplayable()))
    -         {
    -             // we can not accept focus on such window, so reject it.
    -             restoreFocus(we);
    -             break;
    -         }
    
    With this check in place it is assumed that Component.isDisplayable() must
    return true, for event to be dispatched. But particularly
    `Dialog.isDisplayable()` didn't and thus all tab key events (focus traversal)
    were dropped.
    
    Many thanks to Jamie and Stuart for helping out with reproducing and tracking that down!
    
    Change-Id: I4876773199ca06a6e73213401692e8275a1f3b22
    7746de6e
Adı
Son kayıt (commit)
Son güncelleme
..
bridge Loading commit data...
inc/accessibility Loading commit data...
source Loading commit data...
AllLangResTarget_acc.mk Loading commit data...
CustomTarget_bridge.mk Loading commit data...
CustomTarget_bridge_inc.mk Loading commit data...
Jar_uno_accessbridge.mk Loading commit data...
Library_acc.mk Loading commit data...
Library_java_uno_accessbridge.mk Loading commit data...
Makefile Loading commit data...
Module_accessibility.mk Loading commit data...
README Loading commit data...