Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. FFMPEGMediaPlayer: Use IOUtil.decodeFromURI(..) to unescape %20 (details)
  2. NativeWindow/OSX: Fix RunOnThread/RunLater - Properly determine (details)
  3. NEWT/Fullscreen (Bug 836): Exit re-parenting fullscreen w/ (details)
  4. NEWT/OSX (Bug 836): Lifecycle operations performed on main-thread must (details)
  5. NEWT/OSX (Bug 836): Only WindowDriver.initWindow0(..) operation on (details)
  6. NEWT Display: Issue EDTUtil.start() at runOnEDTIfAvail(..) even if on (details)
  7. NEWT Reparent/Fullscreen: Fixes X11 unsuccessful return to parent (details)
  8. NewtCanvasAWT Focus Traversal: Remove AWT's requestFocus*() overrides in (details)
  9. Bug816 OSX CALayer: Issue w/ JSplitPane within Apple (Firefox, Safari - (details)
Commit 8e7f4f42f2ed572e0f794725efec1fb2f81dabf2 by Sven Gothel
FFMPEGMediaPlayer: Use IOUtil.decodeFromURI(..) to unescape %20
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
Commit c15d33e4f63abe18bbe1ded8125b5ad90e5c6adf by Sven Gothel
NativeWindow/OSX: Fix RunOnThread/RunLater - Properly determine 'forkOnMain' via onMain && ( isOnMain || 0 < delay )
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
Commit 929cae9a5ba01a382d17387ff289d74ee029f090 by Sven Gothel
NEWT/Fullscreen (Bug 836): Exit re-parenting fullscreen w/ [invisible-exit-visible] (-> like reparent); Always force focus; X11: Always use ALWAYSONTOP.

- Remove unused 'fullscreenUseSpanningMode' state

- Exit re-parenting fullscreen w/ [invisible-exit-visible] (-> like reparent)
  solves X11 issue, where the NEWT window doesn't 'return to it's parent'.
  Probably also fixes Bug 836!

- Always force focus when enter and exit FS

- X11: Always use ALWAYSONTOP
  No reason to behave different (spanning and normal-fs)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
Commit c2a4905ec926362a08f486a68d428fb139821df1 by Sven Gothel
NEWT/OSX (Bug 836): Lifecycle operations performed on main-thread must be synchronized (wait-until-done)

Wait-until-done (main thread):
  - WindowDriver.close0(..)
  - WindowDriver.initWindow0(..)

Otherwise a re-queued operation (i.e. CALayer attachment)
will mixup the order ..

Experienced w/ fullscreen exit.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
Commit 88291cd5e20fc8b172f1d78a683be7d2bdec807a by Sven Gothel
NEWT/OSX (Bug 836): Only WindowDriver.initWindow0(..) operation on main-thread must be synchronized (wait-until-done)

- Leave WindowDriver.close0(..) w/o sync
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
Commit 56502090ba5c2e0c266666a4ba3ddd501e9ad95f by Sven Gothel
NEWT Display: Issue EDTUtil.start() at runOnEDTIfAvail(..) even if on EDT, which is to be stopped.

This case appears on e.g. OSX/CALayer (offscreen) reparenting using recreation (onscreen <-> offscreen),
i.e. display destroy/create is performed on EDT.

Misc Cleanup:

- Rename EDTUtil: restart() -> start()

- Rename Display: validateEDT() -> validateEDTStopped()

- Simplify Display.setEDTUtil(..): Remove need for redundant 'newEDTUtil' local var.

- Simplify Display.runOnEDTIfAvail(..): edtUtil is never null
The file was modifiedsrc/newt/classes/jogamp/newt/swt/SWTEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestDisplayLifecycle01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/util/EDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/DefaultEDTUtil.java (diff)
Commit 8be1fc983e584082b9960b4da19c56af5834d08e by Sven Gothel
NEWT Reparent/Fullscreen: Fixes X11 unsuccessful return to parent window; Add reparentWindow(..) top-level position arguments; Misc

- Fixes X11 unsuccessful return to parent window
  On X11 when returning to parent window (-> CHILD),
  we have to set the window invisible and wait for the result.
  Otherwise it sometimes happens that the WM's reparent operation fails,
  i.e. the window won't become a child of desired parent and is positioned randomly.

- Add reparentWindow(..) top-level position arguments
  .. allows bringing the child-window to top-level w/ a desired position.
  Otherwise the window would be positioned elsewhere as a top-level
  as the plain reparenting operation.

  X11 needs to set position and size _after_ making the window visible,
  otherwise WM may ignore the XConfigureWindow request.

- Reparent recreate shall always store the desired position and size
  On OSX/CALayer when recreation is being used, we need to store the pos/size
  for later creation.

- Tests: Use 'NewtAWTReparentingKeyAdapter' where possible (reparent/fullscreen)
  instead of duplicating such code.

  NewtAWTReparentingKeyAdapter: Performs reparenting and fullscreen operations
  off-thread (i.e. not on AWT/NEW EDT) while decorating the action w/
  revoking/restoring the ExclusiveContextThread (ECT).

Manually tested 'TestGearsES2NewtCanvasAWT' reparenting and fullscreen
on X11, Windows and OSX/CALayer w/ JDK 7u40 successful.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/NewtAWTReparentingKeyAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer02NewtCanvasAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestLandscapeES2NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java (diff)
Commit 9997ce1f19accc2ef6b8568b5e3ba877710bef01 by Sven Gothel
NewtCanvasAWT Focus Traversal: Remove AWT's requestFocus*() overrides in favor of FocusPropertyChangeListener requestFocusNEWTChild()

The AWT's requestFocus*() overrides were intended to receive the AWT focus (default) and
clear it afterwards to forward the focus to the NEWT component -> requestFocusNEWTChild().

This can be achieved simply by using our FocusPropertyChangeListener
and invoking requestFocusNEWTChild() when receiving the focus on the NewtCanvasAWT component.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit 364af76f2ba3e05ba041997e97f4e342fd6f5827 by Sven Gothel
Bug816 OSX CALayer: Issue w/ JSplitPane within Apple (Firefox, Safari - not appletviewer) when move horizontal slider (vertical: ok)

Moving horizontal slider if run as applet (Firefox, Safari - not appletviewer)
doesn't move the GLCanvas even though it is resized.
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m (diff)
The file was addedjnlp-files/jogl-applet-bug816_layerpos03b.html (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletOSXCALayerPos03b.java (diff)
The file was modifiedjnlp-files/jogl-test-applets.html (diff)
The file was addedjnlp-files/jogl-applet-bug816_layerpos03a.html (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPos02AWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletOSXCALayerPos03a.java (diff)