diff options
author | Sven Gothel <[email protected]> | 2011-11-18 09:14:08 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2011-11-18 09:14:08 +0100 |
commit | 3db4e89cb2c36f63c6d0a8f3450705d1ef3694b0 (patch) | |
tree | 193deaa032784afb368c3e097d3ec2031760dd38 /make | |
parent | 3b38957f36d4f89b85730755a41c00892ac70591 (diff) |
NEWT/AWT Focus Traversal / Deadlock Fix (Windows) ; Harmonized NEWT KeyListener handling (Bug 526)
NativeWindow:
- expose 'hasFocus()'
Window:
- 'protected enqueueRequestFocus(..)' -> 'public requestFocus(boolean wait)'
- New: 'setKeyboardFocusHandler(KeyListener)' allowing focus traversal co-op w/ covered TK (AWT)
WindowImpl:
- Impl Window changes (see above)
- Impl 'consumedTag' see commit 3b38957f36d4f89b85730755a41c00892ac70591
NewtCanvasAWT:
- FocusAction only removes the global AWT focus owner.
This fixes a deadlock on the Windows platform of AWT's native peer requestFocus impl,
since it's no more called at this point.
- NEW FocusTraversalKeyListener is set as the newtChild's KeyboardFocusHandler,
allowing traversal to the next/previous AWT component.
AWTParentWindowAdapter:
- focusGained(..) clears AWT focus and propagates focus to Newt child,
non blocking w/ 'requestFocus(false)' (see above)
KeyEvent:
- Document limitations of getKeyChar() (Bug 526)
MacWindow:
- only deliver keyChar on key Typed events, harmonizing platform behavior (Bug 526)
WindowsWindow:
- regenerate the keyCode for EVENT_KEY_TYPED (Bug 526)
X11Windows:
- complete keyCode mapping X11 -> Newt - X11KeySym2NewtVKey()
- only deliver keyChar on key Typed events, harmonizing platform behavior (Bug 526)
Tests:
- GearsES2: Make focus visible
- TestParentingFocusTraversal01AWT: unit test for keyboard focus traversal w/ NewtCanvasAWT
Diffstat (limited to 'make')
-rwxr-xr-x | make/scripts/tests-x64.bat | 3 | ||||
-rwxr-xr-x | make/scripts/tests.sh | 13 |
2 files changed, 6 insertions, 10 deletions
diff --git a/make/scripts/tests-x64.bat b/make/scripts/tests-x64.bat index b45b49e89..fb9e2c73d 100755 --- a/make/scripts/tests-x64.bat +++ b/make/scripts/tests-x64.bat @@ -12,7 +12,7 @@ REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.acore.TestGLPro REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.newt.TestGearsNewtAWTWrapper %1 %2 %3 %4 %5 %6 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.newt.TestGearsNEWT -time 30000 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.es1.newt.TestGearsES1NEWT %1 %2 %3 -scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT %1 %2 %3 %4 %5 %6 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT %1 %2 %3 %4 %5 %6 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.awt.TestGearsAWT -time 5000 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.awt.TestGearsGLJPanelAWT -time 5000 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.awt.TestAWT03GLCanvasRecreate01 @@ -34,6 +34,7 @@ REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestFocus02Swin REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot %1 %2 %3 %4 %5 %6 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.nativewindow.TestRecursiveToolkitLockCORE REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT -time 100000 +scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParentingFocusTraversal01AWT %1 %2 %3 REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting03bAWT -time 100000 REM scripts\java-win64.bat com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index 5d1054100..84dc07920 100755 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -75,7 +75,7 @@ function jrun() { #D_ARGS="-Djogl.debug=all -Dnewt.debug=all" #D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT -Djogl.debug.GLContext" #D_ARGS="-Dnewt.debug.Window -Djogl.debug.Animator -Dnewt.debug.Screen" - #D_ARGS="-Dnewt.debug.Window -Djogl.debug.Animator" + #D_ARGS="-Dnewt.debug.Window" #D_ARGS="-Dnewt.debug.Window.MouseEvent" #D_ARGS="-Xprof" #D_ARGS="-Djogl.debug.Animator" @@ -229,7 +229,9 @@ function testswt() { #testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01bAWT $* #testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cAWT $* #testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cSwingAWT $* +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting02AWT $* #testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT $* +testawt com.jogamp.opengl.test.junit.newt.parenting.TestParentingFocusTraversal01AWT $* #testawt com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01AWT $* #testawt com.jogamp.opengl.test.junit.newt.parenting.TestTranslucentParentingAWT $* #testawt com.jogamp.opengl.test.junit.newt.TestCloseNewtAWT @@ -274,14 +276,7 @@ function testswt() { # # regressions # -testawt com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01AWT $* - -#../build-x86_64//test/results/TEST-com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT.xml:<testsuite errors="0" failures="5" hostname="jogamp02" name="com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT" tests="5" time="2.123" timestamp="2011-11-10T03:41:11"> -#../build-x86_64//test/results/TEST-com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle01NEWT.xml:<testsuite errors="0" failures="1" hostname="jogamp02" name="com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle01NEWT" tests="1" time="1.832" timestamp="2011-11-10T03:39:14"> -#../build-x86_64//test/results/TEST-com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle02NEWT.xml:<testsuite errors="0" failures="2" hostname="jogamp02" name="com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle02NEWT" tests="2" time="1.929" timestamp="2011-11-10T03:39:17"> -#../build-x86_64//test/results/TEST-com.jogamp.opengl.test.junit.newt.TestWindows01NEWT.xml:<testsuite errors="0" failures="1" hostname="jogamp02" name="com.jogamp.opengl.test.junit.newt.TestWindows01NEWT" tests="5" time="1.178" timestamp="2011-11-10T03:41:09"> - - +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01AWT $* $spath/count-edt-start.sh java-run.log |