diff options
author | Sven Gothel <[email protected]> | 2012-04-27 03:01:31 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-04-27 03:01:31 +0200 |
commit | be59d561fd6ab8aa659e85cd962d38fffd1acb0a (patch) | |
tree | 9043385394b290838275602db0d9dd249cb1f841 /src/newt/native | |
parent | 5b15130e4e0f04bcfdacc500a04d08b58ba12fc3 (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.c | 13 |
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); |