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

Changes

Summary

  1. Bug 1189: Fix gcc redefinition error, even thought typedef equals - on (details)
  2. Bug 1249 - NEWT X11: setVisible(false) IconicState not listening to (details)
  3. Bug 1249 - NEWT X11: setVisible(*) _NET_WM_STATE_HIDDEN update not (details)
  4. Bug 1249: Revert TestParenting01NEWT durationPerTest back to 600 (details)
  5. Bug 1249 - NEWT X11: setVisible(false) (details)
  6. Bug 1247: Align NEWT AWT driver w/ GLCanvas (not fixing any issues) (details)
  7. Bug 1247: Enhance JAWTWindow DEBUG output (not fixing any issues) (details)
  8. Bug 1247: JAWTWindow fail early w/ useful info: (details)
  9. Bug 1247 - TestGearsNewtAWTWrapper fails AWT recreation case (details)
Commit 56eb5025694064ad3e25cf2fb7ba0cabbda8ee67 by Sven Gothel
Bug 1189: Fix gcc redefinition error, even thought typedef equals - on
OpenIndiana w/ old'ish gcc
The file was modifiedmake/stub_includes/opengl/GLES2/gl2ext-supplement.h (diff)
Commit dca5d36370ec5eb44998bae593880e3b10cc9a4e by Sven Gothel
Bug 1249 - NEWT X11: setVisible(false) IconicState not listening to
_NET_WM_STATE_HIDDEN; setVisible(true) not restoring from
_NET_WM_STATE_HIDDEN
Using Gnome Shell 3.14.4-1~deb8u1 disclosed an issue w/ our newly
utilized IconicState/_NET_WM_STATE_HIDDEN, i.e. visibleChanged(false)
was never received.
This is a regression of commit
2d837a7a7130702ad36b694875613fae77c7ef06, which utilizes
WM_CHANGE_STATE_IDX + IconicState for visibility on top-level windows.
This bug consist out of _two_ isssue:
1) setVisible(false) IconicState not listening to _NET_WM_STATE_HIDDEN
Here, we 'listen' to _NET_WM_STATE_HIDDEN when receiving
ConfigureNotify
if supported _and_ XMapWindow has been issued.
In such case existence/non-existence of _NET_WM_STATE_HIDDEN
determines visibility.
Otherwise, we have wait for MapNotify/UnmapNotify.
  The 'XMapWindow has been issued' criteria is tracked by new field
'JavaWindow.isMapped'
and set/cleared when we actually issue XMapWindow/XUnmapWindow!
2) setVisible(true) not restoring from _NET_WM_STATE_HIDDEN
It has been observed that restoring IconicState/_NET_WM_STATE_HIDDEN
via XMapWindow or even NormalState may not work reliably on WMs.
See
<https://stackoverflow.com/questions/30192347/how-to-restore-a-window-with-xlib>
  Hence we restore from this WM state via NormalState _and_
_NET_ACTIVE_WINDOW.
Both strategies seem to work well on KDE as well as on Gnome.
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestGLWindows00NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestGLWindows01NEWT.java (diff)
The file was modifiedsrc/newt/native/X11Common.h (diff)
Commit e418a665756af52fe2ca691ca220644e9b27c22c by Sven Gothel
Bug 1249 - NEWT X11: setVisible(*) _NET_WM_STATE_HIDDEN update not
received at ConfigureNotify event (2)
On gnome shell WM, sometimes KDE WM, it has been observed that the
_NET_WM_STATE_HIDDEN update (visible or invisible) is not received at
ConfigureNotify event.
Turns out the state is finally updated at FocusOut!
This change tests _NET_WM_STATE_HIDDEN visibility hint for mapped
window also for FocusIn and FocusOut events, besides the
ConfigureNotify event.
Further more, NormalState to restore a hidden but mapped window did not
work, so it is no more being sent. We limit us here to
_NET_ACTIVE_WINDOW.
2 unit tests are prepared to test this issue:
- TestGLWindows00NEWT
- TestParenting01NEWT
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestGLWindows00NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/newt/native/X11Common.h (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 8ce5203a581e731d5aa7d553455b04213d94115c by Sven Gothel
Bug 1249: Revert TestParenting01NEWT durationPerTest back to 600
(otherwise breaks test)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit ecdaa59aa48c16a558ec7a0b50df9419a9ccedc1 by Sven Gothel
Bug 1249 - NEWT X11: setVisible(false)
IconicState/_NET_WM_STATE_HIDDEN: Handle case where KDE unmaps the
window
Update our internal JavaWindow.isMapped according to MapNotify and
UnmapNotify. This takes care of a situation (KDE) where a window is
unmapped during IconicState.
For unmapped windows we cannot interprete _NET_WM_STATE_HIDDEN and we
have to issue XMapWindow for restoring the window.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/native/X11Display.c (diff)
Commit 108ff459c21ef04e541c714658b6b18f28e3c748 by Sven Gothel
Bug 1247: Align NEWT AWT driver w/ GLCanvas (not fixing any issues)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java (diff)
Commit 0abf3c058b1ad7f43328a79098890149e6fa8a14 by Sven Gothel
Bug 1247: Enhance JAWTWindow DEBUG output (not fixing any issues)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit 78bb597a06180c968ff5a10a7e3f44bd058965d6 by Sven Gothel
Bug 1247: JAWTWindow fail early w/ useful info:
setAWTGraphicsConfiguration(..) if awtConfig is null,
getGraphicsConfiguration() if awtConfig is null
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit c1594efa78951f187a75ec0b9a85cf64fba418d4 by Sven Gothel
Bug 1247 - TestGearsNewtAWTWrapper fails AWT recreation case
removeNotify -> addNotify, e.g. by moving to other monitor
AWTCanvas removeNotify didn't cause 'local' destruction of the NEWT
window, allowing a 'recreate' w/ subsequent addNotify.
This case has been hacked-into NEWT.AWT.WindowDriver + AWTCanvas:
- suppression of window destroy events
- keeping fields/states intact in NEWT.AWT.WindowDriver
- propagating signals appropriately
Note: This is barely a working hack and not a fine piece of software :)
This AWT backend driver exists only due to historical reasons.
This hack simply proves that JAWTWindow works properly.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/WindowDriver.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/awt/AWTCanvas.java (diff)