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

Changes

Summary

  1. Fix JNLPs .. vendor and url (details)
  2. XHTML cleanup for JOGL build howto. (details)
  3. Merge branch 'master' of github.com:sgothel/jogl (details)
  4. escaping ampersandin XML (details)
  5. XHTML cleanup for jogl deployment doc. (details)
  6. Changed NEWT NativeWindow creation contract - AWT/NEWT Parenting - Misc (details)
Commit 8e078b5902ed7615fd976499af7100f6f84cb2db by Sven Gothel
Fix JNLPs .. vendor and url
The file was modifiedjnlp-files/newt-jogl.jnlp (diff)
The file was modifiedjnlp-files/jogl-gl2es12.jnlp (diff)
The file was modifiedjnlp-files/nativewindow-all-awt.jnlp (diff)
The file was modifiedjnlp-files/nativewindow-awt.jnlp (diff)
The file was modifiedjnlp-files/newt-awt.jnlp (diff)
The file was modifiedjnlp-files/newt-all-noawt.jnlp (diff)
The file was modifiedjnlp-files/nativewindow.jnlp (diff)
The file was modifiedjnlp-files/jogl-all-noawt.jnlp (diff)
The file was modifiedjnlp-files/newt.jnlp (diff)
The file was modifiedjnlp-files/jogl-all-awt.jnlp (diff)
The file was modifiedjnlp-files/jogl-awt.jnlp (diff)
The file was modifiedjnlp-files/newt-all-awt.jnlp (diff)
The file was modifiedjnlp-files/jogl-core.jnlp (diff)
Commit 6842d41aff963d323c6047e30d06257f524be571 by Michael Bien
XHTML cleanup for JOGL build howto.
The file was modifieddoc/HowToBuild.html (diff)
Commit 5d0f56a70bcc1f971a9d330d8012b8b97778453a by Michael Bien
Merge branch 'master' of github.com:sgothel/jogl

Conflicts:
doc/HowToBuild.html
Commit cefaf9a715d2915e35c6bfe1e6758f8dfc125333 by Michael Bien
escaping ampersandin XML
The file was modifieddoc/HowToBuild.html (diff)
Commit 3d8e85915ccdf48b9a97b5ed279716a2204a7a82 by Michael Bien
XHTML cleanup for jogl deployment doc.
The file was modifieddoc/HowToBuild.html (diff)
The file was modifieddoc/deployment/JOGL-DEPLOYMENT.html (diff)
Commit 6e599a2696f878786783e0fea17534e67655a5c9 by Sven Gothel
Changed NEWT NativeWindow creation contract - AWT/NEWT Parenting - Misc Fixes

+++++

Changed NEWT NativeWindow creation contract

Original contract:

(1) A native window was created as soon as possible,
    ie when NEWTFactory.createWindow(..) was called - if possible.

(2) A valid native window has to be created at least after setVisible(true)
    has been called.

Problems:
    Not all implementation are able to create the native window that early,
    but at setVisible(true) only (e.g: KD and EGL).

    Due to window parenting especially the new AWT/NEWT parenting,
    the native window can only be created in case the parent native window is valid.

New contract:

(1) A native window is created at setVisible(true),
    if it's a top level window or the native parent window is valid.

(2) A valid native window may not be created after setVisible(true)
    has been called.
    Subsequent setVisible(true) calls shall be made in case
    the creation has not been done yet.
    This is demonstrated in GLWindow.display() for example.

The new contract implements a lazy native window creation.

+++++

AWT/NEWT Parenting

- HierarchyListener and ComponentListener ensure that the NEWT child window
  will be setVisible according to the AWT parent window.

- Lazy native window creation relaxes requirements to the parent window's state.

- Attachment of the child window and setVisible() may be called
  after NEWT child window creation.

- GLWindow supports NEWT child window creation directly

The test case TestParenting01AWT.java reflect this new contract
and demonstrates more simplified and more flexible use cases.

+++++

NEWT Fixes:

- All NEWT implementation's native code method names end with 0.

- GLWindow: don't issue the actual 'init'/'display' call to GLEventListeners
  in case the window is not visible.

- NEWT setSize/setPosition:
    if native-window
        call native-window action and let the attributes being set by
        the feedback call, which issues more action, ie RESIZE.
    else
        set the attributes directly, no feedback call/action is necessary.

+++++

X11 Fixes:

- X11GLContext MakeContextCurrent:
  Use MakeCurrent in case write and read drawable are equal,
  otherwise SEGV happens on ATI with heavy multithreading involved!
  Even XLockDisplay and XSync didn't help here ..

- X11GLXDrawableFactory shared resource:
  Removed the resource holder thread to simplify code,
  hence proper release is no more desired and it could become a cause for deadlock.

- Moved XInitThreads() from NEWT X11Window -> NativeWindow X11Util,
  since NativeWindow is loaded first (essential for XInitThreads())
  and it is the more basic lib.

- Made call to XInitThreads() conditional, ie it's spared if
  AWT could be used - which causes SEGV .. (AWT bug). See X11Util.java

+++++

JOGL Fixes:

- GLProfile.isAWTAvailable() -> NativeWindowFactory.isAWTAvailable()
- GLProfile.isAWTJOGLAvailable() -> GLProfile.isAWTAvailable()
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/broadcom/egl/Window.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/kd/KDWindow.java (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/broadcom/egl/Display.java (diff)
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
The file was modifiedmake/build-nativewindow.xml (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/drawable/TestDrawable01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTParentWindowAdapter.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/jogl/demos/gl2/gears/TestGearsNEWT.java (diff)
The file was modifiedmake/config/nativewindow/x11-lib.cfg (diff)
The file was modifiedmake/scripts/java-run-all.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Screen.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/awt/AWTGraphicsConfiguration.java (diff)
The file was modifiedmake/build.xml (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/nativewindow/native/x11/Xmisc.c (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java.javame_cdc_fp (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTNewtFactory.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/util/EDTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/macosx/MacWindow.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/macosx/MacDisplay.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/macosx/MacScreen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsDisplay.java (diff)
The file was removedsrc/junit/com/jogamp/test/junit/jogl/acore/TestGLProfile01CORE.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/impl/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/awt/AWTDisplay.java (diff)
The file was modifiedmake/stub_includes/x11/window-lib.c (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/OffscreenWindow.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/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (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/TestParenting01AWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Display.java (diff)
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/junit/com/jogamp/test/junit/newt/TestWindows01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/windows/WindowsWindow.java (diff)
The file was modifiedmake/build-newt.xml (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Screen.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/opengl/kd/KDDisplay.java (diff)
The file was modifiedsrc/junit/com/jogamp/test/junit/newt/TestParenting01NEWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/intel/gdl/Display.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/impl/x11/glx/X11GLXContext.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/x11/X11Display.java (diff)
The file was addedsrc/junit/com/jogamp/test/junit/jogl/acore/TestGLProfile01NEWT.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLProfile.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java.javase (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/impl/intel/gdl/Window.java (diff)