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

Changes

Summary

  1. Bug 910: Add Standalone Extended Applet Lifecycle Validation Test (details)
  2. Refine DemoBug910ExtendedAWTAppletLifecycleCheck (commit (details)
  3. Fix Bug 902: FFMPEGMediaPlayer uses IOUtil.decodeURIIfFilePath(uri) to (details)
  4. Bug 907 - Initial patch allowing Jogl to respond to other applications (details)
  5. Bug 907 - Cleanup Commit e9c711a86aa05f4f24c69972532833f5a98911a3 (details)
  6. Bug 907 - Fix regression of 'cleanup' Commit (details)
  7. GLDrawableFactory: destroy() -> shutdownImpl() - Add DEBUG output in (details)
  8. GLDrawableFactory.shutdown0() Add DEBUG line at the end (details)
  9. Bug 907 - Refine DummyDispatchThread (DDT) Handling: Proper OO (details)
Commit 9310b11b2b6e1e89fa5ed9b8de26e56ff6a6b262 by Sven Gothel
Bug 910: Add Standalone Extended Applet Lifecycle Validation Test

Test is online @ http://jogamp.org/deployment/test/bug910/

Test validates the state of the added component:
  TC1 - addNotify() and removeNotify() has been called from AWT-EDT.
  TC2 - removeNotify() is not called before Applet.destroy()

Test also validates the Applet state:
  TA1 - isActive()
  TA2 - init count
  TA3 - start count
  TA4 - stop count
  TA5 - destroy count
The file was addedjnlp-files/Bug910-AppletLifecycleCheck.html (diff)
The file was addedsrc/test/com/jogamp/opengl/test/bugs/DemoBug910ExtendedAWTAppletLifecycleCheck.java (diff)
The file was modifiedjnlp-files/jogl-test-applets.html (diff)
Commit 65247a8188c7470ee7f599f2e84cae1bc84fff9c by Sven Gothel
Refine DemoBug910ExtendedAWTAppletLifecycleCheck (commit 9310b11b2b6e1e89fa5ed9b8de26e56ff6a6b262): Test start/stop balance.
The file was modifiedsrc/test/com/jogamp/opengl/test/bugs/DemoBug910ExtendedAWTAppletLifecycleCheck.java (diff)
Commit eb9225c928b9a1a5660c865921fcd91f85cd1cd0 by Sven Gothel
Fix Bug 902: FFMPEGMediaPlayer uses IOUtil.decodeURIIfFilePath(uri) to decode proper file-scheme if applicable - otherwise encoded ASCII URI.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
Commit e9c711a86aa05f4f24c69972532833f5a98911a3 by Sven Gothel
Bug 907 - Initial patch allowing Jogl to respond to other applications that try to retrieve window names
The file was modifiedsrc/nativewindow/native/win32/GDImisc.c (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
Commit 52c95c19dbd69a7fc6b307d2b2db357ceb43ddf5 by Sven Gothel
Bug 907 - Cleanup Commit e9c711a86aa05f4f24c69972532833f5a98911a3

Cleanup Commit e9c711a86aa05f4f24c69972532833f5a98911a3:
  - Fix while loop in SendCloseMessage (native)

  - static 'threadid' must be volatile

  - Whitespace

  - Redundancy
    - CreateDummyWindow

  - Scope (java, move JNI funcs back to private)

  - Remove [invalid] pointer usage (native)
    - ThreadParam's threadReady and hWndPtr shall not be pointers - invalid
    - No need to use a threadReady pointer.

  - Validate threadid (native)

TODO:
  - Make 'native dispatch thread' optional
  - Store 'native dispatch thread' in window class
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
The file was modifiedsrc/nativewindow/native/win32/GDImisc.c (diff)
Commit f52c89e36cccd5eb141882a4b3378efe54aa9576 by Sven Gothel
Bug 907 - Fix regression of 'cleanup' Commit 52c95c19dbd69a7fc6b307d2b2db357ceb43ddf5
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
Commit 5906d6cd747092f1e73b32f3337563fa74cec2d2 by Sven Gothel
GLDrawableFactory: destroy() -> shutdownImpl() - Add DEBUG output in implementation
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
Commit cb0afe743d21a3480e2d41744a904ac7d404612d by Sven Gothel
GLDrawableFactory.shutdown0() Add DEBUG line at the end
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
Commit 586446311ea1ba87f98236d5347955bf99b465d6 by Sven Gothel
Bug 907 - Refine DummyDispatchThread (DDT) Handling: Proper OO integration in RegisteredClass; Safe DDT Post/WaitForReady handling and error cases ; ...

Proper OO integration of DDT in RegisteredClass
  - DDT is optional to RegisteredClass[Factory],
    i.e. NEWT without DDT and DummyWindow with DDT.

  - Using native type DummyThreadContext per DDT
    passed as DDT handle to java referenced in RegisteredClass

  - Passing DDT handle to related native methods,
    if not null use DDT - otherwise work on current thread.
    The latter impacts CreateDummyWindow0 and DestroyWindow0.

Safe DDT Post/WaitForReady handling and error cases ; ...
  - Wait until command it complete using a 3s timeout
  - Terminate thread if errors occur and throw an exception

+++

Discussion: DDT Native Implementation

Due to original code, the DDT is implemented in native code.
Usually we should favor running the DDT from a java thread.
However, since it's main purpose is _not_ to interact w/ java
and the native implementation has less footprint (performance and memory)
we shall be OK w/ it for now - as long the implementation IS SAFE.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClassFactory.java (diff)
The file was modifiedsrc/nativewindow/native/NativewindowCommon.c (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedsrc/nativewindow/native/win32/GDImisc.c (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClass.java (diff)
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedsrc/nativewindow/native/NativewindowCommon.h (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java (diff)