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

Changes

Summary

  1. Bug 1184 - JOGL AWT Canvas Components don't update (details)
  2. Bug 1181 - JOGL WebStart Applications using GLCanvas/AWT may Deadlock by (details)
  3. Bug 1161 - Fix Canvas resize stops the rendering in Mac OS X (mostly (details)
  4. JAWTWindow: Fix binary compatibility: Add old variants of deprecated (details)
  5. Bug 1154 - Make plugin3-public.jar optional: Part 1 / 2 (Relocate (details)
  6. Bug 1154 - Make plugin3-public.jar optional: Part 2 / 2 (details)
  7. Bug 1178: Implement X11UnderlayTracker (details)
  8. Bug 1178: Fix cc0 WindowImpl: Swallow CLICK event (details)
  9. Bug 1178: X11UnderlayTracker Fix cc4. Attempted fix for cc6. (details)
  10. Bug 1178: Fix cc8 bcm.vc.iv WindowDriver: Update pointer during DRAGGED (details)
  11. Bug 1178: Fix cc7 X11UnderlayTracker can now track multiple windows. (details)
  12. Bug 1178: Mouse events shall be passed on to unfocused overlays. (details)
  13. Bug 1178: if overlay is undecorated then make under-lay the same (details)
  14. Bug 1178: Workaround cc9 X11UnderlayTracker: Pressing Maximize locks-up (details)
Commit 6ae08be1742e6d805b316c0d440364854a49e68f by Sven Gothel
Bug 1184 - JOGL AWT Canvas Components don't update AWTGraphicsConfiguration when reconfigured.

JOGL AWT Components, e.g. GLCanvas or NewtCanvasAWT,
may be reconfigured by moving them to another display/monitor
or by other means.

Since AWT has no means to notify the user code via an event,
JOGL components usually determine the reconfiguration via
the override 'GraphicsConfiguration getGraphicsConfiguration()'.

GLCanvas is sensible to this reconfiguration,
however its AWTGraphicsConfiguration (owned via JAWTWindow)
is not changed.

Implement reconfiguration detection for all JOGL AWT Components
and update the AWTGraphicsConfiguration if required.

For now, constraint reconfiguration on GraphicsDevice change
as currently implemented in GLCanvas.

The updated AWTGraphicsConfiguration allows using the updated
GraphicsDevice as it might be required for further information,
e.g. pixel-scale on OSX.
The file was modifiedsrc/newt/classes/jogamp/newt/awt/NewtFactoryAWT.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/AWTGraphicsConfiguration.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit b0af5159bc6100a6262afe6b52f9092a207ac2b3 by Sven Gothel
Bug 1181 - JOGL WebStart Applications using GLCanvas/AWT may Deadlock by two AWT-EDT on Java >= 1.8.0_45

Root cause:

- AWT Toolkit global Lock

Our locking scheme (AWT-EDT-1):
- Surface Lock
- sun.awt.SunToolkit.awtLock()
- Component.getGraphicsConfiguration() -> synchronized(Component.getTreeLock())

Other AWT-EDT-2 by Webstart:
- synchronized(Component.getTreeLock())
- sun.awt.SunToolkit.awtLock()

Results in a deadlock.

Solution:
- Issue Component.getGraphicsConfiguration() before awtLock(),
   where Component.getGraphicsConfiguration() is being used to
   detect possible reconfiguration.

- Also use updated AWTGraphicsConfiguration's GraphicsConfiguration
   if no 'new' detection is required.
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
Commit 4eeddd0d446f8491dde2e5b0e3e11e0d5b0be9b7 by Sven Gothel
Bug 1161 - Fix Canvas resize stops the rendering in Mac OS X (mostly from WebStart)

Root cause:

JAWTWindow's JAWTComponentListener 'isShowing'
state is initialized while attaching it on-thread
and updated via hierarchy-changed event.

JAWTComponentListener attachment to the component
is issued at JAWTWindow's creation but on the AWT-EDT,
hence it may happen at a later time.

In this bug scenario, it happens very late,
so that the hierarchy-changed event is missed
and 'isShowing' is never set to 'true'.

Solution is to update 'isShowing' state
on the actual AWT-EDT when attaching to the component.
Also make 'isShowing' volatile.
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit 63331d5da80f66753442fe651f517b3540b517ce by Sven Gothel
JAWTWindow: Fix binary compatibility: Add old variants of deprecated method, throwing a RuntimeException
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 1b1a05eb49cc3a0e0da505c175388ae1147ea2d6 by Sven Gothel
Bug 1154 - Make plugin3-public.jar optional: Part 1 / 2 (Relocate Applet3 classes)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-applet3-napplet.html (diff)
The file was addedsrc/newt/classes/com/jogamp/newt/util/applet3/JOGLNewtApplet3Run.java
The file was addedsrc/newt/classes/com/jogamp/newt/util/applet3/VersionApplet3.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/acore/TestVersionSemanticsNOUI.java (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/util/applet/VersionApplet3.java
The file was modifiedjnlp-files/jogl-applet-runner-newt-MovieCube-applet3-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphTextDemo01-applet3-napplet.html (diff)
The file was modifiedmake/build-common.xml (diff)
The file was modifiedjnlp-files/jogl-applet-version-applet3-napplet.html (diff)
The file was removedsrc/newt/classes/com/jogamp/newt/util/applet/JOGLNewtApplet3Run.java
The file was modifiedjnlp-files/jogl-applet-runner-newt-GraphUISceneDemo01-applet3-napplet.html (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-gears-applet3-special-napplet.html (diff)
Commit 36889161d37b07835eb2db83c147585ca0ef77a1 by Sven Gothel
Bug 1154 - Make plugin3-public.jar optional: Part 2 / 2

Exclude plugin3.jar dependent source files from compilation of NEWT.
The file was modifiedmake/build-newt.xml (diff)
Commit f84af439535640e1072b6cd670aa44cbe91ef052 by xerxes
Bug 1178: Implement X11UnderlayTracker

driver/x11/X11UnderlayTracker
Using NEWT to initialize an X11 window for use by Raspberry Pi users
to handle mouse and keyboard input when using the bcm.vc.iv driver inside xorg.

newt/driver/bcm/vc/iv/WindowDriver
Try use X11UnderlayTracker as input for bcm.vc.iv
If X11 fail to initialize then
track using the /dev/event files directly
using the LinuxMouseTracker.

Input source is switched inside bcm/vc/iv/WindowDriver
by using the new
newt/driver/KeyTracker
newt/driver/MouseTracker
interfaces.

Signed-off-by: Xerxes RÃ¥nby <xerxes@gudinna.com>
The file was addedsrc/newt/classes/jogamp/newt/driver/KeyTracker.java
The file was addedsrc/newt/classes/jogamp/newt/driver/MouseTracker.java
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/x11/X11UnderlayTracker.java
Commit 17934267339ed9cff89a72724671d3df6339bb64 by xerxes
Bug 1178: Fix cc0 WindowImpl: Swallow CLICK event

Signed-off-by: Xerxes RÃ¥nby <xerxes@gudinna.com>
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit fff18fc198744170ad4061a57ed9d064df08b8c6 by xerxes
Bug 1178: X11UnderlayTracker Fix cc4. Attempted fix for cc6.

Rename window -> underlayWindow.
Fix indentation, long lines & whitespace.

Bug 1178 cc4: another window overlaps NEWT underlay window -> overlay window is still on top.
Fix 1178 cc4: we can request the NEWT underlay window to use always on top.

Bug 1178 cc6: if you render the overlay window transparent -> caps.setBackgroundOpaque(false);
then you will see that the underlay tracker window newer repaints -> looks a bit like a mess.
Attempted fix 1178 cc6: x11 underlay tracker window can be set transparent as well.
FIXME: The underlay tracker window is still filled with opaque garbage.

Signed-off-by: Xerxes RÃ¥nby <xerxes@gudinna.com>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/X11UnderlayTracker.java (diff)
Commit 5d3d8a4211968d6d214e8403ba58295b5dd67aec by xerxes
Bug 1178: Fix cc8 bcm.vc.iv WindowDriver: Update pointer during DRAGGED events.

1178 cc8: The bcm.vc.iv mousepointer is not updating _visible_
          position during DRAGGED events.
Fix cc8:  update bcm.vc.iv WindowDriver doMouseEvent

Signed-off-by: Xerxes RÃ¥nby <xerxes@gudinna.com>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
Commit 59c278f0c492de37a1e31af7cb9f825353118fe1 by xerxes
Bug 1178: Fix cc7 X11UnderlayTracker can now track multiple windows.

cc7: the UnderlayTracker needs to be engineered to handle multiple overlays
     -> need to spawn one X11 window for each new overlay.

Signed-off-by: Xerxes RÃ¥nby <xerxes@gudinna.com>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/X11UnderlayTracker.java (diff)
Commit de6f8ecac15c502aff800aa2c6ee35490c14545a by xerxes
Bug 1178: Mouse events shall be passed on to unfocused overlays.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/X11UnderlayTracker.java (diff)
Commit 124af9f2e30d7941c99d21e086c9837fedd99867 by xerxes
Bug 1178: if overlay is undecorated then make under-lay the same
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/X11UnderlayTracker.java (diff)
Commit e171ae1589adfddca38a9f8d27a05f17e90f65b1 by xerxes
Bug 1178: Workaround cc9 X11UnderlayTracker: Pressing Maximize locks-up the NEWT EDT

cc9: Pressing Maximize locks-up the NEWT EDT
Workaround cc9: Prevent the overlay to reposition the underlay.

Signed-off-by: Xerxes RÃ¥nby <xerxes@gudinna.com>
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/X11UnderlayTracker.java (diff)