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

Changes

Summary

  1. Increased junit timout to 30 min. Move ClickTimeout to MouseEvent (details)
  2. NEWT/AWT Jnit: Add Robot Mouse Click test (details)
  3. NativeWindow/NativeSurface Refactoring ; Added mouseClick NEWT/AWT unit (details)
  4. Fix: NativeWindow RecursiveToolkitLock, GLWindow (details)
  5. Fix: NEWT/AWT Focus unit tests (details)
  6. Fix: JOGL GLContextLock starvation; Tighten NEWT/AWT focus unit tests (details)
  7. Fix RecursiveToolkitLock: Implement complete fair FIFO scheduler (details)
  8. Relocated RecursiveToolkitLock -> gluegen ; NEWT AWTParentWindowAdapter (details)
  9. NEWT: WindowImpl/GLWindow add zero size fast path; Reparent: Zero size (details)
  10. JOGL: WindowsWGLDrawableFactory/X11GLXDrawableFactory: synchronize (details)
  11. Harmonize all runtime properties, see (details)
  12. Added Fullscreen WM Hit to the X11 window (details)
  13. Fix: X11 Fullscreen mode behaviour (details)
  14. Drop to be enqueued NEWTEvent if EDT is already dead/stopped. Thx Steve (details)
  15. Fix: Avoid list modification while iterator in use (details)
  16. Fix: Avoid list modification while iterator in use (details)
  17. Fix: Memory consumption (details)
  18. NEWT: Drop post stop tasks on EDT due to it's recursive nature (DEBUG (details)
  19. Add version info tool, to allow more precise bug reports (details)
  20. JOGL: Reenable Applet/Webstart/RCP support for JOGL + AWT + X11 (details)
  21. Screen Mode manipulation API (with X11 impl) ; X11 Fullscreen impl (details)
  22. Added Screen Rotation manipulation API (with X11 impl) (details)
  23. Added Windows Impl for ScreenMode and rotation change; Windows (details)
  24. NEWT: Fix / Stabilize Fullscreen/Decoration/Reparenting Mode Changes (details)
  25. Make ScreenMode public, ie move from newt.impl to newt. (details)
  26. NEWT: ScreenMode changes (details)
  27. RectangleReadOnly clonable; Make strings more readable (details)
  28. X11Util: lock toolkit/x11 unification (details)
  29. can't enable x11IOErrorHandler without disable (details)
  30. Analysis of glXMakeCurrent freeze on ATI fglrx 8.78.6; Misc .. (details)
  31. Netbeans: use build target all.but-archives (details)
  32. Minor: fix imports, JAWTUtil: query headless 1st (faster), (details)
  33. TestSwingAWTRobotUsageBeforeJOGLInitBug411: Verbosity, proper destroy (details)
  34. GLAnimatorControl/Animator: Allow stop() if paused() (details)
  35. WindowImpl/GLWindow LifecycleHook: (details)
  36. Animator Fix/Cleanup (details)
  37. ThreadingImpl: AWT semantic cleanup. (details)
  38. Promoted the shutdown hook from GLDrawableFactoryImpl to GLProfile. (details)
  39. remove positive RANDR message (details)
  40. Proper X11 Display Closing (details)
  41. Changed Lifecycle of NEWT Display/Screen (part 5) (details)
  42. Tests: Accomodate previous changes plus using AWT EDT for setVisible() (details)
  43. Test: Add new Display Lifecucle test (details)
  44. JOGL: HashMap ProcAddressTable for all GL profiles incl GLX/WGL/CGL/EGL (details)
  45. Using GLCanvas _and_ NEWT side by side currently causes a deadlock in (details)
Commit 26961cfb96c0ad95965f48ae6b5e909958d4d97c by Sven Gothel
Increased junit timout to 30 min. Move ClickTimeout to MouseEvent (public)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
The file was modifiedmake/build-junit.xml (diff)
Commit 03416ffe040d50b96573930104a78933605ae40d by Sven Gothel
NEWT/AWT Jnit: Add Robot Mouse Click test
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus01SwingAWTRobot.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/util/AWTMouseAdapter.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/util/NEWTMouseAdapter.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTKeyAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTRobotUtil.java (diff)
Commit 018c7e8660dc0af68bd129be9af5094d04d0b431 by Sven Gothel
NativeWindow/NativeSurface Refactoring ; Added mouseClick NEWT/AWT unit test

NativeWindow/NativeSurface Refactoring
    - Using NativeSurface interface
    - NativeWindow extends NativeSurface, adds getLocationOnScreen(Point)
    - NativeWindow add: getParent()
    - NativeWindow/Surface: Removed 'invalidate()', use 'destroy()' if you must.
    - NullWindow -> ProxySurface impl NativeSurface
    - JOGL: Uses NativeSurface only.
        - GLDrawable.getNativeWindow() -> GLDrawable.getNativeSurface()

Added mouseClick NEWT/AWT unit test

JOGL:
    - GLAnimatorControl add: resetCounter()
    -

NEWT:
    - GLWindow counters: return GLWindow counters always
    - WindowImpl
        - requestFocus() wait until done
        - reparent: readded requestFocusImpl(true),
                    native impl skips java focusAction if reparented
    - X11Window: Add XRaiseWindow() in requestFocus()
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAutoDrawable.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/Insets.java (diff)
The file was modifiedmake/build-nativewindow.xml (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsOnscreenWGLDrawable.java (diff)
The file was addedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/ProxySurface.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/package.html (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/util/Insets.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/drawable/TestDrawable01NEWT.java (diff)
The file was removedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/NullWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLPbufferDrawable.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01aAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/SurfaceUpdatedListener.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/macosx/MacWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXPbufferCGLContext.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsDummyWGLDrawable.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLOnscreenDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was removedsrc/nativewindow/classes/com/jogamp/nativewindow/util/Rectangle.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01cSwingAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/audio/windows/waveout/TestSpatialization.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11ExternalGLXContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/Point.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsWindow.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/offscreen/Surface2File.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting02AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsExternalWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsExternalWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLPbufferImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXOffscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01cAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLCapabilitiesChooser.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11OffscreenGLXDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/OffscreenWindow.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLCapabilities.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01bAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestDisplayLifecycle01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11ExternalGLXDrawable.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLArrayData.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11OffscreenGLXContext.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/Dimension.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/DefaultGLCapabilitiesChooser.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsOffscreenWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11DummyGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAnimatorControl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit c8a9c59e4838cd43090378a7ed60544449472801 by Sven Gothel
Fix: NativeWindow RecursiveToolkitLock, GLWindow lockSurface/unlockSurface

Fix: NativeWindow RecursiveToolkitLock
    - Use notify(), instead of notifyAll(), so only one thread is being awakened
      for the single resource. Otherwise starvation and timeout happen, since
      the oldest thread might not get waken up (earlier than other threads) within timeout.

    - Inner class for all synchronized (flow/mem) fields for easier fine grained sync/lock.

Fix: GLWindow lockSurface/unlockSurface
    - Enter locked surface block only if surface lock could be acquired
The file was addedsrc/junit/com/jogamp/test/junit/nativewindow/TestRecursiveToolkitLockCORE.java (diff)
The file was modifiedmake/scripts/java-run-all.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/RecursiveToolkitLock.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests.bat (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/UITestCase.java (diff)
Commit 7c2916a999ece43ada42a1964bab3d6b886f3984 by Sven Gothel
Fix: NEWT/AWT Focus unit tests

- Added reset() to EventCountAdapter, to ensure a unqiue start state
- Removed 'lost focus' assertion, since this event might be pending
  and we don't poll on it or have a barrier
The file was modifiedsrc/junit/com/jogamp/test/junit/util/EventCountAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus01SwingAWTRobot.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/NEWTKeyAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTKeyAdapter.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/util/EventCountAdapterUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/NEWTFocusAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTMouseAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/NEWTMouseAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTFocusAdapter.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit b9adfc2c67d2bc46cae887ed39a5953b1e74e96a by Sven Gothel
Fix: JOGL GLContextLock starvation; Tighten NEWT/AWT focus unit tests

Fix: JOGL GLContextLock starvation
    - Apply changes made in RecursiveToolkitLock (c8a9c59e4838cd43090378a7ed60544449472801),
      ie notifyAll() -> notify(), plus sync (flow/mem) usage.

Fix: Tighten NEWT/AWT focus unit tests
    - AWTRobotUtil.requestFocusAndWait() waits for EventCountAdapter gain and lost focus as well.
    - In case of NewtCanvasAWT, additionally wait for it's lost focus
The file was modifiedmake/scripts/java-run-all.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextLock.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus01SwingAWTRobot.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedmake/scripts/tests.bat (diff)
The file was modifiedmake/scripts/java-win32-dbg.bat (diff)
Commit 041b1ed7cefea4eebb7ec0eefd2304beecf26081 by Sven Gothel
Fix RecursiveToolkitLock: Implement complete fair FIFO scheduler (wait-interrupt) using a LinkedList
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/RecursiveToolkitLock.java (diff)
Commit 579326db93ebe3d72c6b9f3acf74fadf21ec9f17 by Sven Gothel
Relocated RecursiveToolkitLock -> gluegen ; NEWT AWTParentWindowAdapter fix & WindowImpl debug change ; Add NEWT/AWT unit test 1 frame - 2 NewtCanvasAWT

Relocated RecursiveToolkitLock -> gluegen
    com.jogamp.nativewindow.impl.RecursiveToolkitLock -> com.jogamp.common.util.RecursiveToolkitLock

NEWT AWTParentWindowAdapter fix
    - minimize action if status unchanged
    - added missing isValid() condition before runOnEDT..

NEWT WindowImpl:
    - debug output only if action triggered (resize/visible)

Add NEWT/AWT unit test 1 frame - 2 NewtCanvasAWT
    - Testing case where AWTParentWindowAdapter provokes both
      GLWindow instances to resize/visible
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/ProxySurface.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLPbufferImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/macosx/MacWindow.java (diff)
The file was removedsrc/junit/com/jogamp/test/junit/nativewindow/TestRecursiveToolkitLockCORE.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTParentWindowAdapter.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextLock.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
The file was removedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/RecursiveToolkitLock.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11Util.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03AWT.java (diff)
Commit 5e1a67c9bd3f8420eeab2d3879a795e25de22936 by Sven Gothel
NEWT: WindowImpl/GLWindow add zero size fast path; Reparent: Zero size -> pending creation

NEWT/AWT: TestParenting03AWT use Container and add delay in addNotify(2nd-gl-element);
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86_64.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
Commit 231f9fe67c55ece5ee013cf1183f15200b602cd8 by Sven Gothel
JOGL: WindowsWGLDrawableFactory/X11GLXDrawableFactory: synchronize sharedContext lock/release

Unsynchronized lead to an 'context already locked by another thread' exception
at initialization time (Windows: in general; X11: ATI and pbuffer drawable).
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
Commit 1d265b51d2c52cac33419bf0e6ef35d92dee4550 by Sven Gothel
Harmonize all runtime properties, see doc/Implementation/runtime-properties.txt
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextShareSet.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/awt/TextRenderer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/gl2/fixme/GLObjectTracker.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLBufferStateTracker.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsPbufferWGLContext.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/ExtensionAvailabilityCache.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/Debug.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLBufferSizeTracker.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/NativeWindowFactoryImpl.java (diff)
The file was addeddoc/Implementation/runtime-properties.txt (diff)
The file was modifiedmake/scripts/java-run-all.sh (diff)
Commit fa304942297fcb94c16d8f734570243cf324cb37 by Rami Santina
Added Fullscreen WM Hit to the X11 window

when true the request is send after configuring the window
otherwize before decoration. needs tweeking to ensure that the fullscreen is on-off
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Window.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
Commit 65a2eecc69772c3bfd3dda5407a31baf11437a2b by Rami Santina
Fix: X11 Fullscreen mode behaviour
Event of fullscreen is sent to the display root
and properties of fullscreen are set on our window/screen

defined source attachment of data sent using XSendEvent to be normal application (required)

cleaned up the code. replaced tabs with spaces
The file was modifiedsrc/newt/native/X11Window.c (diff)
Commit f244d36f76acff2739d7fc4b5b1e0936047d8646 by Sven Gothel
Drop to be enqueued NEWTEvent if EDT is already dead/stopped. Thx Steve for the threaddump
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/DisplayImpl.java (diff)
Commit 399212af75bd11f3e713860ae358b964e430bf7b by Sven Gothel
Fix: Avoid list modification while iterator in use (ConcurrentModificationException)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
Commit 29999cf3b7616c8ab58f4483c672e30076fbb3e4 by Sven Gothel
Fix: Avoid list modification while iterator in use (ConcurrentModificationException) - 2 - Use volatile barrier
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/TestEventSourceNotNEWTBug.java (diff)
Commit 6ced17f0325d5719e992b246ffd156e5b39694b4 by Sven Gothel
Fix: Memory consumption

Observing memory consumption showed:
    1 - 'traceLock' debug stack traces (GLContextLock)
    2 - massive Iterator usage

(1) is fixed, ie only enabled in DEBUG mode, like we have done in RecursiveLock before

(2) Using an Iterator on ArrayLists with a low element count < 100,
    as it is usual in our use cases, is observed not to be faster
    than accessing the elements via an index (-> TestIteratorIndexCORE.java ).
    On the contrary, the index implementation was a bit faster.
    Further more, these Iterators were massively used on the fly during animation,
    hence their memory managment even impacts fluent processing/animation.
    Recoded all animation related (display, surfaceUpdated, ..) loops using an index.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextLock.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/core/TestIteratorIndexCORE.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
Commit fe17e13d5c0d70fe0d2e2e09b2b91a5827d234b4 by Sven Gothel
NEWT: Drop post stop tasks on EDT due to it's recursive nature (DEBUG traces them).
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/DefaultEDTUtil.java (diff)
Commit d7faeb8b96f5aba76967096006af4c420d964fef by Sven Gothel
Add version info tool, to allow more precise bug reports
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/VersionInfo.java (diff)
Commit 774138544e1eec3330309ad682fa05154a07ab8d by Sven Gothel
JOGL: Reenable Applet/Webstart/RCP support for JOGL + AWT + X11

Changed GLProfile/NativeWindowFactory/.. initialization methodology:

    GLProfile:
        public static synchronized void initSingleton(final boolean firstUIActionOnProcess);

    NativeWindowFactory:
        public static synchronized void initSingleton(final boolean firstUIActionOnProcess);

+++

Introducing NativeWindow ToolkitLock, implementations are
    NullToolkitLock
    JAWTToolkitLock
    X11JAWTToolkitLock
    X11ToolkitLock

AbstractGraphicsDevice provides generic global toolkit locking methods,
implemented by the ToolkitLock interface.

ToolkitLock's are aggregated in NativeWindow's DefaultGraphicsDevice
to implement it's superclass lock()/unlock() methods.

This enables a device specific locking strategy, ie on X11/AWT utilizing
JAWT && X11 locking, and maybe none for others (NEWT).

No locking is required for X11 / AWT, in case the above mentioned
initialization happened as a 'firstUIActionOnProcess'.

The ToolkitLock factory is currently a hardcoded part of NativeWindowFactory.
We may have to allow 3rd party NativeWindow implementations
to register custom ones.

+++

com.jogamp.opengl.impl.GLDrawableImpl cleanup:
  Dealing with all locking code, providing all public methods. Exceptions are commented.
  Specializations x11/windows/.. only contains platform code.
  Pulled down access qualifiers if possible public -> protected.

com.jogamp.nativewindow.impl.x11.X11Util
  Wrapping all X11Lib method with the new locking code.

com.jogamp.nativewindow.impl.jawt.JAWTUtil
  Utilize global SunToolkit.awtLock() is available,
  the fallback to global JAWT.lock().
  The latter just invokes the first.

javax.media.nativewindow.awt.AWTGraphicsDevice
    setHandle(long handle) -> setSubType(String type, long handle)
    which also resets the ToolkitLock respecting the new type.
    This ensures correct locking after the sub type has been determined,
    ie AWT using an X11 peer.

+++

Misc Changes done on the way ..

GLCanvas:
    Fixed inversed this.drawableHelper.isExternalAnimatorAnimating() condition,
    which disabled normal repaint.

GLJPanel:
    Removed drawableHelper.isExternalAnimatorAnimating() condition,
    which disabled painting, since the animation thread just updates the source image.

NEWT WindowImpl:
    When reparenting back to parent and 'refit' child if it's size exceeds it's parent.
    More 'Fix: Memory consumption' commit 6ced17f0325d5719e992b246ffd156e5b39694b4.

NEWTEvent:
    Removed code to evaluate the 'system event' attribute, need to find a better approach.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/awt/AWTUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestAWT01GLn.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLGraphicsConfigurationFactory.java (diff)
The file was addedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11ToolkitLock.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/ProxySurface.java (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86_64.sh (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/util/UITestCase.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01cAWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/TestGearsNEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/texture/TestTexture01AWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsDummyWGLDrawable.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01cSwingAWT.java (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/GraphicsConfigurationFactoryImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Display.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/awt/AWTGraphicsDevice.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/awt/X11AWTGLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLPbufferImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/offscreen/TestOffscreen01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows02NEWTAnimated.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/awt/Java2D.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/drawable/TestDrawable01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/macosx/MacWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting02AWT.java (diff)
The file was modifiedmake/scripts/tests.bat (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11DummyGLXDrawable.java (diff)
The file was modifiedmake/scripts/java-run-all.sh (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/awt/MacOSXAWTCGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting02NEWT.java (diff)
The file was modifiedmake/config/nativewindow/x11-CustomJavaCode.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/ImmModeSink.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedmake/build-junit.xml (diff)
The file was removedsrc/junit/com/jogamp/test/junit/newt/TestEventSourceNotNEWTBug.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java (diff)
The file was addedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/NullToolkitLock.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/awt/WindowsAWTWGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11GraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11OffscreenGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/acore/TestGLProfile01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/acore/DumpVersion.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsOffscreenWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLWorkerThread.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLPipelineFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/DisplayImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01bAWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/glsl/TestTransformFeedbackVeryingsBug407NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Window.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestWindows01NEWT.java (diff)
The file was addedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTToolkitLock.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11Util.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTCanvas.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/ToolkitLock.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java (diff)
The file was modifieddoc/Implementation/runtime-properties.txt (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/x11/X11SunJDKReflection.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestListenerCom01AWT.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/TestGearsNewtAWTWrapper.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/TestEventSourceNotAWTBug.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/TestGearsAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows01NEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestDisplayLifecycle01NEWT.java (diff)
The file was addedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/x11/X11JAWTToolkitLock.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWT01GLn.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01aAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestFocus01SwingAWTRobot.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsWindow.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/Gears.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestAWT02WindowClosing.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/NativeWindowFactoryImpl.java (diff)
Commit 735ebb60ead9996106dfcb958ddfbb6b00b407fd by Rami Santina
Screen Mode manipulation API (with X11 impl) ; X11 Fullscreen impl

Added screen mode change capability with impl for X11 (using Xrandr)

com.jogamp.newt.Screen: added 4 methods which cover screen mode lifecycle

ScreenMode[] getScreenModes():  Get list of available screen modes
returns null if not natively implemented. On first call
will fetch the list thru a set of native calls and stores them
in the ScreenModeState. Consequent calls will retreive the data
from the ScreenModeStatus object. Native calls are done on creation stage,
so subsequent API calls will return cached data.

int getDesktopScreenModeIndex(): Get the Current Desktop Screen mode index
returns -1 if functionality not natively implemented. The index
returned refers to the screen mode location in the ScreenMode array.
Used to get initial mode for reverting back. Initial call will retreive the
mode thru a native call (done on initialization), subsequent API calls will retreive it
from the ScreenModeStatus object.

Note: If Window is closed without reverting back and screen is set to unreachable.
The api will revert the screen. A call to destoy(unreachable) is needed
for revert to take place on close

windowDestroyNotify(WindowEvent e) {
...
window.destroy(true);
}

short getCurrentScreenRate(): Get the current screen rate
returns -1 if not natively implemented. Used along with getDesktopScreenModeIndex
You can identify the current screen mode (w x h) and the rate. Initial call will retreive the
mode thru a native call (done on initialization), subsequent API calls will retreive it
from the ScreenModeStatus object.

void setScreenMode(int modeIndex, short rate): change the screen mode
to the mode index which refers to one of the screen modes retreived by getScreenModes()
and a rate which can be one of screenModes.getRates(). If the rate provided doesnt belong
to the list of available rates the first rate is chosen.

build-newt.xml: Added header files generation for Screen and Display
Added Xrandr syslink to x11 based builds.

+++++++++++++
Fullscreen for X11Window:

Added Fullscreen WM Hint for X11Window. Event of Fullscreen is
sent to the display root. When changing to fullscreen the request is send
after configuring the window otherwize before decoration.

Not Stable yet, needs tweeking on other Linux dist. Window looses focus
after switching to fullscreen mode.
+++++++++++++++
Added TestScreenMode01NEWT which includes 4 tests
1- Fullscreen change mode
2- Screen mode change
3- Screen change with fullscreen (revert screenmode then revert fullscreen)
4- Screen change with fullscreen (revert fullscreen then revert screenmode)

should fail if not screenmode not implemented on platform.
+++++++++++++++
Cleaned up some unused imports
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Window.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenImpl.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/impl/ScreenMode.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/impl/ScreenModeStatus.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/impl/ScreensModeState.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Screen.java (diff)
Commit c74be6eeeb273cd7530ac7e94c3128cb5fa1e420 by Rami Santina
Added Screen Rotation manipulation API (with X11 impl)

Added screen rotation change capability with impl for X11 (using Xrandr)

com.jogamp.newt.Screen: added 2 methods which cover screen roation lifecycle

setScreenRotation(int rot): Change the Screen Rotation to
one of the rotations defined in ScreenMode, namely:
ROTATE_0, ROTATE_90, ROTATE_180, ROTATE_270

int getCurrentScreenRotation(): Get the Current screen rotation
returns -1 if not implemented natively.

+++++++++++++++++++++++++
Notes:
1- At init the original rotation is called natively and cached,
when screen is destroyed the rotation is reverted.

2- On X11 with Nvidia: you need to edit /etc/X11/xorg.conf:
Add the following line:
Option         "RandRRotation" "on"
in  Section "Device" after BoardName.

+++++++++++++++
Added TestScreenMode02NEWT which includes 4 tests
1- Rotate 90
2- Rotate 180
3- Rotate 270
4- Rotate with screen mode change
should fail if screen rotation not implemented natively.
(4) withh fail if screen mode not impl natively as well.
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenModeStatus.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Screen.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenMode.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenImpl.java (diff)
Commit 29891baca2427483f96e6d1a8c3b13892ba5facc by Rami Santina
Added Windows Impl for ScreenMode and rotation change; Windows Fullscreen Hint

Added windows implemenation for screen mode change lifecycle and screen rotation
screen modes.
+++++++++++
Added getHighestAvailableRate() to Screen mode as a helper function
which loops over the available rates of this screen mode and returns the
highest available.

Added toString impl to ScreenMode.

+++++++++++
Unit Tests: TestScreenMode01NEWT,TestScreenMode02NEWT are modified adding the gears as GL
event listeners.

+++++++++++
Notes:
1- Screen modes with bits per pixel values not same as current are currently filtered out.
2- Since windows stores the Display settings differently you will see some duplicate values
which the documentation says is usual. These modes are not filtered out in getScreenModes().
Keeping values same as provided from windows enum.
3- BitsPerPixel is currently natively read on windows only.
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenMode.java (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was modifiedmake/scripts/java-win64.bat (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsScreen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedmake/scripts/tests.bat (diff)
Commit 18bf27fa86da1f26fd085565f501736816d2f2e9 by Sven Gothel
NEWT: Fix / Stabilize Fullscreen/Decoration/Reparenting Mode Changes

    - setSizeImpl/setPositionImpl/reparent -> reconfigureWindowImpl
    - setVisible(boolean) is state checked (500ms) for better reliability
      on resource creation. Guarantees valid surface.
    - reparentWindow: start pos of child -> top is current position on screen
    - reparentWindow: Recheck success (setVisible), if failed fall back to recreate,
      which gets rid of a lost child windows (1/20) ..
    - reparentWindow: if size failed, reconfigure for size again
    - add toggle decoration
    - unify nfs_ size/pos state
    - WindowsWindow.c/X11Window.c: Unify size/pos settings
    - X11Window.c:
        - NewtWindows_setFullscreen: use 'root of screen' instead of 'default root of display'
        - Adding SubstructureNotifyMask incl event semantics
        - Parse ReparentNotify (debugging of reparenting)

Misc:
    - Add native getLocationOnScreen() impl to avoid possible AWT deadlock
    - setSize/setPosition/setFullScreen -> EDT
    - More documentation on expected native implementation semantics
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/macosx/MacWindow.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/OffscreenWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/kd/KDWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsWindow.java (diff)
The file was modifiedsrc/newt/native/KDWindow.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTWindow.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03bAWT.java (diff)
The file was addedmake/scripts/check-junit.sh (diff)
The file was modifiedmake/scripts/java-win64-dbg.bat (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/broadcom/egl/Window.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/intel/gdl/Window.java (diff)
The file was modifiedmake/scripts/tests.bat (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestDisplayLifecycle01NEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/Gears.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Window.java (diff)
Commit 61e6325eed2337d791479ddcd2eb8da928b4f94c by Sven Gothel
Make ScreenMode public, ie move from newt.impl to newt.
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenModeStatus.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsScreen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Screen.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/impl/ScreenMode.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/ScreenMode.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenImpl.java (diff)
Commit a34d04ad4d9a46a30772b3984baf692a59e8b608 by Sven Gothel
NEWT: ScreenMode changes

    - New type definition:
        ScreenMode { MonitorMode { SurfaceSize { Resolution, bpp }, ScreenSizeMM, refreshRate }, rotation },
        where Resolution and ScreenSizeMM are of type DimensionReadOnly

    - ScreenMute instance is
        - immutable
        - hashable
        - cloneable

    The above allows fast query and storage w/o redundancies.
    More than 300 modes via permutation could be expected.

ScreenMode impl. changes:
  ScreenImpl:
    To be implemented methods by native specialization:
        - protected int[] getScreenModeFirstImpl()
        - protected int[] getScreenModeNextImpl()
        - protected ScreenMode getCurrentScreenModeImpl()
        - protected boolean setCurrentScreenModeImpl(ScreenMode screenMode)

    The data unification etc is implemented generic using ScreenModeUtil
    and the 'int[]' streaming.

  ScreenModeStatus holds all ScreenMode related data
  and provides a locking strategy.

  ScreenModeListener provides a callback facility for ScreenMode change events.
    - Screens listen to ScreenModeStatus, so all FQN referenced Screen's receive the change.
    - Windows listen to Screen, to take appropriate action for the event (fullscreen, reshape).

Misc:
    - Screen/Display: promoting 'addReference'/'removeReference' to public interface,
      so a user may trigger construction/destruction (-> junit tests, plus other clients than WindowImpl).

    - Gears: 'setSwapInterval' at 'reshape' instead of 'init',
      so it's reset when ScreenMode is changing.

    -
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/event/ScreenModeListener.java (diff)
The file was removedsrc/junit/com/jogamp/test/junit/core/TestIteratorIndexCORE.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsScreen.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11Util.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Point.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Insets.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Dimension.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/newt/native/NewtCommon.c (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/macosx/MacScreen.java (diff)
The file was modifiedsrc/newt/native/NewtCommon.h (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenImpl.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was addedsrc/newt/native/ScreenMode.h (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/broadcom/egl/Screen.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTScreen.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/PointReadOnly.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/Gears.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/kd/KDScreen.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/DimensionReadOnly.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/DisplayImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode02NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenModeStatus.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode00NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Window.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestScreenMode01NEWT.java (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/impl/ScreensModeState.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/DefaultEDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Screen.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/util/ScreenModeUtil.java (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/util/MonitorMode.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/RectangleReadOnly.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/ScreenMode.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/intel/gdl/Screen.java (diff)
Commit 7cc10bde2ebe22ad9c9f85e9d1de40f46a35b14d by Sven Gothel
RectangleReadOnly clonable; Make strings more readable
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/SurfaceSize.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Point.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/RectangleReadOnly.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/util/MonitorMode.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Dimension.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Rectangle.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/ScreenMode.java (diff)
Commit 18f3a050e31b903ce11dd16783e8343f904cd6ff by Sven Gothel
X11Util: lock toolkit/x11 unification
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows01NEWT.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11Util.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
Commit d52181032830acdd5e4069a41ccd0daff5922d8a by Sven Gothel
can't enable x11IOErrorHandler without disable
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/NullToolkitLock.java (diff)
Commit a4e3f241cfba55e407c68eba91ffcc4beb0758b5 by Sven Gothel
Analysis of glXMakeCurrent freeze on ATI fglrx 8.78.6; Misc ..

Analysis of glXMakeCurrent freeze on ATI fglrx 8.78.6
    - Workaround in TestGLWindows01NEWT: same create/destroy order
    - Prove bug with simple native test app: jogl/test/native/displayMultiple02.c

Misc:
    - Reverted d52181032830acdd5e4069a41ccd0daff5922d8a, ie reenable x11IOErrorHandler (nativewindow)
    - GLDrawableHelper: methods -> final
    - X11Util.NamedDisplay: remove unused RecursiveLock, Cloneable
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows01NEWT.java (diff)
The file was addedtest/native/make.sh (diff)
The file was addedtest/native/displayMultiple02.c (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11Util.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
The file was addedtest/native/displayMultiple01.c (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
Commit b62cc2479c49d2a9913a297bcd0375e2351f7cba by Sven Gothel
Netbeans: use build target all.but-archives
The file was modifiednbproject/project.xml (diff)
The file was modifiedmake/build.xml (diff)
Commit aed479890410e10031d96077a72a4cbdd621e6aa by Sven Gothel
Minor: fix imports, JAWTUtil: query headless 1st (faster), NativeWindowFactory added nonAWT ToolkitLock create method
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Display.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/awt/X11AWTGLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTUtil.java (diff)
Commit a42017128a0e5a24b5852151efdf496059ca6a5d by Sven Gothel
TestSwingAWTRobotUsageBeforeJOGLInitBug411: Verbosity, proper destroy sequence
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
Commit e6131c6b2cbf8d1e5a05f0343612f5083b55aaa9 by Sven Gothel
GLAnimatorControl/Animator: Allow stop() if paused()
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLAnimatorControl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
Commit e6225fce71daa90a2a2b631550ba048c2a84ff25 by Sven Gothel
WindowImpl/GLWindow LifecycleHook:
    - 'destroyAction' -> 'destroyActionPreLock' 'destroyActionInLock',
      to be able to stop animation before locking.

GLDrawableHelper.invokeGL() dispose case (initAction == null):
    - pause animator if animating before makeCurrent (locking)

GLCanvas/GLJPanel dispose: recreate case
    - resume animator if was animating
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows02NEWTAnimated.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows01NEWT.java (diff)
The file was modifiedmake/scripts/make.jogl.all.linux-x86_64.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
Commit 99d205d0c5f047ef9a6a6e21f351abe415ed3b15 by Sven Gothel
Animator Fix/Cleanup
    - Fix AnimatorBase: Finally using 'com.jogamp.opengl.util.AWTAnimatorImpl',
      wrong FQN lead to never use it, hence deadlock in case of AWT usage (AWT-EDT).

    - Animator
        - remove volatile for synced state isAnimated
        - new state isPaused, since shouldPause give the wrong answer for isPaused()
        - Cleanup wait condition for lifecycle tasks (start/stop/pause/resume)

    - 'AnimatorImpl' -> 'DefaultAnimatorImpl implements AnimatorBase.AnimatorImpl'

    - 'AWTAnimatorImpl implements AnimatorBase.AnimatorImpl',
      hence no derivation of a complete overwritten AnimatorImpl needed.

    - GLWindow.destroyActionPreLock()
        - Stop animator if unrecoverable, else pause only.

Tests:
    - No explicit animator stop, hence tests implicit stop/pause
      by GLDrawableHelper and/or GLWindow.
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/DefaultAnimatorImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows02NEWTAnimated.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableHelper.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorImpl.java (diff)
Commit be82dc62e22bbbb76acd7af889908a272bda6d09 by Sven Gothel
ThreadingImpl: AWT semantic cleanup.
Use GLProfile's AWT available status.
If mode == AWT, then the AWTThreadingPlugin must be available, else throw exception.
Made AWTThreadingPlugin's 'isOpenGLThread' compatible with 'invokeOnOpenGLThread'.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/awt/AWTThreadingPlugin.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/ThreadingImpl.java (diff)
Commit ef8da46af8ef42d04b9f0701f0d18e1277765d01 by Sven Gothel
Promoted the shutdown hook from GLDrawableFactoryImpl to GLProfile.
Each GLDrawableFactory implementation provides a shutdownInstance() method,
issued by GLProfile.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/awt/MacOSXAWTCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
Commit 27530775e22bd04242a91a8f12f8c6c930c398b9 by Sven Gothel
remove positive RANDR message
The file was modifiedsrc/newt/native/X11Window.c (diff)
Commit 7e606ef39fa9d73cc7306cc0027989bc7704708d by Sven Gothel
Proper X11 Display Closing

X11Util:
Removed TLS semantics, since TLS name -> dpy mapping is erroneous at this point.
Added lists for open connections (for optional later shutdown).

AbstractGraphicsDevice interface and implementations:
Adding 'close()' method allowing native implementations the ability
to close the native resource, ie X11GraphicsDevice.
This becomes necessary for 'on the fly' created X11 Display connections,
ie in X11AWTGLXGraphicsConfigurationFactory, which enables closing.
Utilize 'close' call in use cases: GLCanvas, GLJPanel and AWTCanvas.

Remove active X11 Display creation in X11JAWTWindow,
as a last resort, use the X11SunJDKReflection method.
Used for reference only, not active rendering etc,
mostly for on the fly AWT parenting in NewtFactoryAWT.

However, these 'on the fly' references are erroneous and should be remodelled,
ie passice and active X11GraphicsDevice's ..
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/x11/X11Util.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/awt/X11AWTGLXGraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTCanvas.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java (diff)
Commit fbb30f2e484b3fd0f98a32bed18c272528af7ba5 by Sven Gothel
Changed Lifecycle of NEWT Display/Screen (part 5)
--------------------------------------------------
Per default, creating a NEWT Display tries to reuse an existing one
to match the native platform display semantics closer.
The 'key' for a Display reuse is it's FQN.

The difference with the old 'reusage' is the removal of the TLS binding,
hence we use a global pool.

The user is able to 'override' this 'reuse' behavior with
'NewtFactory.createDisplay(String name, boolean reuse)'.
However, it is not recommended for AMD drivers (see above).

Screen's are always reused if possible.
The 'key' for a Screen reuse is it's FQN,
hence it's reuse depends on the Display reuse.
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/DisplayImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Window.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/ScreenImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
Commit d2ec9f34cf2b3a54c80e2e23671d8fa8a5397d5d by Sven Gothel
Tests: Accomodate previous changes plus using AWT EDT for setVisible() as well.
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestAWT02WindowClosing.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows02NEWTAnimated.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestDisplayLifecycle01NEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/TestGearsNewtAWTWrapper.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestAWT01GLn.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/parenting/TestParenting03bAWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/offscreen/TestOffscreen01NEWT.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestGLWindows01NEWT.java (diff)
Commit ce24d32178106baa16e84f016192441ce45845a7 by Sven Gothel
Test: Add new Display Lifecucle test
The file was addedsrc/junit/com/jogamp/test/junit/newt/TestDisplayLifecycle02NEWT.java (diff)
Commit a0c7b5ca791f659d9c98654b47246092aad42665 by Sven Gothel
JOGL: HashMap ProcAddressTable for all GL profiles incl GLX/WGL/CGL/EGL

Reduce (performance/footprint) overhead of ProcAddressTable recreation,
instead use a hashmap (major, minor, profile) -> ProcAddressTable.

Remove GL2ES12 implementation profile, redundant.
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/windows/wgl/WindowsWGLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/egl/EGLContext.java (diff)
The file was removedmake/config/jogl/gl-gl2es12.cfg (diff)
The file was removedmake/config/jogl/gl-impl-CustomJavaCode-gl2es12.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/DesktopGLDynamicLibraryBundleInfo.java (diff)
The file was removedmake/config/jogl/gl-impl-CustomCCode-gl2es12.c (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
The file was modifiedmake/build-common.xml (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/DesktopGLDynamicLookupHelper.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/GLContextImpl.java (diff)
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/acore/TestGLProfile01NEWT.java (diff)
Commit 8e1e785f26ff57b58fe6218f7ad1c9379760d367 by Sven Gothel
Using GLCanvas _and_ NEWT side by side currently causes a deadlock in AWT with AMD drivers
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/awt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java (diff)