diff options
author | Sven Gothel <[email protected]> | 2019-09-09 09:29:43 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2019-09-09 09:29:43 +0200 |
commit | b12a80e386b12d9d8fa63cf07124f8da989dcd04 (patch) | |
tree | 836b6f9b5e29bbeb56d8d3006d230fea000bf658 /src/test/com/jogamp/opengl | |
parent | db843e65c6b93d720438c7e751413c0556f51a6e (diff) |
Bug 1393: Run orderFront0(=setVisible) async off-thread on AppKit after sync AppKit NSWindow creation
MacOS 10.14.6 + OpenJDK11U produces occasional freezes on AppKit Main Thread
Latest manual tests after resolving Bug 1389
disclosed a few occasional freezes using NEWT + Java11.
These are related to probable AWT changes since Java8,
as these do not occur with Java8.
Fix: Spun off orderFront0(=setVisible) async off-thread on AppKit after sync AppKit NSWindow creation.
This fix also aligns the macos createWindow code with the new simplified ios implementation,
see commit 004c67c73a0309158c30929cd0d6513e23f34803
Diffstat (limited to 'src/test/com/jogamp/opengl')
-rw-r--r-- | src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java b/src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java index 1598a90fb..f1219844b 100644 --- a/src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java +++ b/src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java @@ -165,9 +165,9 @@ public abstract class ExclusiveContextBase00 extends UITestCase { } Assert.assertTrue(animator.isAnimating()); } - Assert.assertEquals(exclusive, animator.isExclusiveContextEnabled()); // After start, ExclusiveContextThread is set + Assert.assertEquals(exclusive, animator.isExclusiveContextEnabled()); { final Thread ect = animator.getExclusiveContextThread(); if(exclusive) { @@ -182,7 +182,15 @@ public abstract class ExclusiveContextBase00 extends UITestCase { for(int i=0; i<drawableCount; i++) { Assert.assertEquals(ect, drawables[i].getExclusiveContextThread()); } - setGLAutoDrawableVisible(drawables); + } + setGLAutoDrawableVisible(drawables); + + // Made visible, check if drawables are realized + { + for(int i=0; i<drawableCount; i++) { + Assert.assertEquals(true, drawables[i].isRealized()); + } + } animator.setUpdateFPSFrames(showFPSRate, showFPS ? System.err : null); |