aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt/native/MacWindow.m
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2020-01-15 02:24:25 +0100
committerSven Gothel <[email protected]>2020-01-15 02:24:25 +0100
commit85b332e0954af4afc9225eb84d758bee834dc497 (patch)
treee676dbc40a155d925e617b449fd77882bb4da570 /src/newt/native/MacWindow.m
parent6d341e110912f9085194cb94ba6f6c358104ee71 (diff)
Bug 1421: NEWT OSX Invisible: Implement 'Fake invisible child window'
'Fake invisible child window' is implemented by simply moving the window out of sight (viewport). - orderOut0 needs to use '[mWin orderWindow: NSWindowBelow relativeTo:..' parentWindow instead of '[mWin orderBack:..', otherwise the whole parent application gets invisible w/ SWT ;-) - NewtNSWindow may also needs to use parent's Screen instance if moved offscreen, as the own Screen is invalid (zero size) in this case. - WindowDriver: Adding special treatment for 'Fake invisible child window' (tagged as such): -- reconfigureWindowImpl: setWindowClientTopLeftPointAndSize0(..) will be called using the viewport's max position -> out of sight. -- screenPositionChanged: ignore the 'new' position -- sizeChanged: ignore the 'new' size This sensitive NEWT change set shall benefit other toolkits being used as parentWindow besides SWT, as this behavior is the same across MacOS.
Diffstat (limited to 'src/newt/native/MacWindow.m')
-rw-r--r--src/newt/native/MacWindow.m2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/newt/native/MacWindow.m b/src/newt/native/MacWindow.m
index a8f196fed..b3961b47a 100644
--- a/src/newt/native/MacWindow.m
+++ b/src/newt/native/MacWindow.m
@@ -1301,7 +1301,7 @@ JNIEXPORT void JNICALL Java_jogamp_newt_driver_macosx_WindowDriver_orderOut0
// NSWindowOut: The window is removed from the screen list and otherWin is ignored.
// This would remove this window from its parent -> AVOID!
// [mWin orderWindow: NSWindowOut relativeTo: [pWin windowNumber]];
- [mWin orderBack: mWin];
+ [mWin orderWindow: NSWindowBelow relativeTo: [pWin windowNumber]];
}
DBG_PRINT( "orderOut0 - window: (parent %p) %p visible %d (END)\n", pWin, mWin, [mWin isVisible]);