summaryrefslogtreecommitdiffstats
path: root/src/newt/native
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-04-27 03:01:31 +0200
committerSven Gothel <[email protected]>2012-04-27 03:01:31 +0200
commitbe59d561fd6ab8aa659e85cd962d38fffd1acb0a (patch)
tree9043385394b290838275602db0d9dd249cb1f841 /src/newt/native
parent5b15130e4e0f04bcfdacc500a04d08b58ba12fc3 (diff)
Bug 570: NEWT General/X11: Decouple setFullscreen() and setAlwaysOnTop(); Use window-static instances for runnable actions
NEWT General/X11: Decouple setFullscreen() and setAlwaysOnTop() - X11 fullscreen/above: Don't assume 'always-on-top' if switch to fullscreen. - WindowImpl: Remove relation between 'always-on-top' and fullscreen when quering and switching. Use window-static instances for runnable actions - Removes temp objects for EDT runnables - Uses synchronization on action instance to avoid concurrency
Diffstat (limited to 'src/newt/native')
-rw-r--r--src/newt/native/X11Window.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/newt/native/X11Window.c b/src/newt/native/X11Window.c
index 6312a9186..9d4ff5aaa 100644
--- a/src/newt/native/X11Window.c
+++ b/src/newt/native/X11Window.c
@@ -744,12 +744,15 @@ JNIEXPORT void JNICALL Java_jogamp_newt_driver_x11_X11Window_reconfigureWindow0
if( TST_FLAG_CHANGE_FULLSCREEN(flags) ) {
fsEWMHFlags |= _NET_WM_FULLSCREEN;
if( TST_FLAG_IS_FULLSCREEN(flags) ) {
- fsEWMHFlags |= _NET_WM_ABOVE; // fs & above on
+ if( TST_FLAG_IS_ALWAYSONTOP(flags) ) {
+ fsEWMHFlags |= _NET_WM_ABOVE; // fs on, above on
+ } // else { } // fs on, above off
} else if( !TST_FLAG_IS_ALWAYSONTOP(flags) ) {
- fsEWMHFlags |= _NET_WM_ABOVE; // fs & above off
- } /* else { } */ // fs off, keep above
- } else if( TST_FLAG_CHANGE_ALWAYSONTOP(flags) ) {
- fsEWMHFlags |= _NET_WM_ABOVE; // toggle above only
+ fsEWMHFlags |= _NET_WM_ABOVE; // fs off, above off
+ } // else { } // fs off, above on
+ }
+ if( TST_FLAG_CHANGE_ALWAYSONTOP(flags) ) {
+ fsEWMHFlags |= _NET_WM_ABOVE; // toggle above
}
NewtDisplay_displayDispatchErrorHandlerEnable(1, env);