aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-10-01 04:09:54 +0300
committerSven Gothel <[email protected]>2010-10-01 04:09:54 +0300
commitfd87de826f391bf490fdb1e4b8b659348d21324b (patch)
tree0f47f949988a20e84fbf9b83abb1c2904e210768
parent3acabfe0d884bc628593773a5f8e798d52e486d2 (diff)
Newt/AWT Reparenting: Remove error prone requestFocus in critical path
-rwxr-xr-xmake/scripts/tests.sh11
-rw-r--r--src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java3
-rw-r--r--src/newt/classes/com/jogamp/newt/impl/WindowImpl.java2
3 files changed, 4 insertions, 12 deletions
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh
index e3d9f8711..7ff5624e1 100755
--- a/make/scripts/tests.sh
+++ b/make/scripts/tests.sh
@@ -2,12 +2,11 @@
spath=`dirname $0`
-#com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsNEWT -time 30000
#com.jogamp.test.junit.jogl.acore.TestGLProfile01CORE
#com.jogamp.test.junit.newt.TestParenting01AWT
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsAWT $*
-# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsNEWT $*
+$spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsNEWT $*
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT $*
@@ -21,7 +20,7 @@ spath=`dirname $0`
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting01NEWT $*
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting02NEWT $*
-# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting01aAWT $*
+#$spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting01aAWT $*
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting01bAWT $*
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting01cAWT $*
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.parenting.TestParenting01cSwingAWT $*
@@ -32,10 +31,4 @@ spath=`dirname $0`
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot $*
# $spath/java-run-all.sh ../build-x86_64 com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot $*
-$spath/java-run-all.sh ../build-x86 com.jogamp.test.junit.jogl.awt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 $*
-$spath/java-run-all.sh ../build-x86 com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot $*
-$spath/java-run-all.sh ../build-x86 com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot $*
-
-# $spath/java-run-all.sh ../build-x86 com.jogamp.test.junit.newt.parenting.TestParenting01aAWT $*
-
$spath/count-edt-start.sh java-run.log
diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java
index 097a2c442..01593b2d9 100644
--- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java
+++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java
@@ -101,7 +101,6 @@ public class NewtCanvasAWT extends java.awt.Canvas {
public NewtCanvasAWT setNEWTChild(Window child) {
if(newtChild!=child) {
newtChild = child;
- newtChild.setFocusAction(focusAction);
if(null!=parent) {
java.awt.Container cont = getContainer(this);
// reparent right away, addNotify has been called already
@@ -167,6 +166,7 @@ public class NewtCanvasAWT extends java.awt.Canvas {
return; // nop
}
+ newtChild.setFocusAction(null); // no AWT focus traversal ..
if(add) {
parent = NewtFactoryAWT.getNativeWindow(this, newtChild.getRequestedCapabilities());
if(null!=parent) {
@@ -180,6 +180,7 @@ public class NewtCanvasAWT extends java.awt.Canvas {
setWindowAdapter(true);
newtChild.sendWindowEvent(WindowEvent.EVENT_WINDOW_RESIZED); // trigger a resize/relayout to listener
newtChild.windowRepaint(0, 0, newtChild.getWidth(), newtChild.getHeight());
+ newtChild.setFocusAction(focusAction); // enable AWT focus traversal
}
} else {
setWindowAdapter(false);
diff --git a/src/newt/classes/com/jogamp/newt/impl/WindowImpl.java b/src/newt/classes/com/jogamp/newt/impl/WindowImpl.java
index 9d5d12966..a1aea694c 100644
--- a/src/newt/classes/com/jogamp/newt/impl/WindowImpl.java
+++ b/src/newt/classes/com/jogamp/newt/impl/WindowImpl.java
@@ -811,7 +811,6 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer
if(wasVisible) {
visible = true;
setVisibleImpl(true);
- requestFocusImpl(true);
display.dispatchMessages(); // status up2date
}
} else {
@@ -848,7 +847,6 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer
System.err.println("Window.reparentWindow: ReparentActionRecreate ("+getThreadName()+") windowHandle "+toHexString(windowHandle)+", visible: "+visible+", parentWindowHandle "+toHexString(parentWindowHandle)+", parentWindow "+Display.hashCode(parentWindow));
}
setVisible(true); // native creation
- requestFocus();
} finally {
windowLock.unlock();
}