diff options
author | Sven Gothel <[email protected]> | 2019-11-21 03:04:33 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2019-11-21 03:04:33 +0100 |
commit | 4a072cd1c09d3f2ba5fd04033091836d195c9409 (patch) | |
tree | 079eb5ddac33ca2b9dfa34d981812617842bdebf /src/newt/classes/jogamp | |
parent | e509bac8554b5a5e8a7cec6638aad53c4129eb68 (diff) |
Bug 1393: MacOS: Wait for window position setting on main-thread (blocking)
Also issue the orderFront0 call within createWindow1 (aligned with IOS code)
Diffstat (limited to 'src/newt/classes/jogamp')
-rw-r--r-- | src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java index 631dfced9..67cd188eb 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java @@ -457,7 +457,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl super.sizeChanged(false, width, height, true); positionChanged(false, x, y); } else { - OSXUtil.RunOnMainThread(false, false, new Runnable() { + OSXUtil.RunOnMainThread(true, false, new Runnable() { @Override public void run() { updateSizePosInsets0(getWindowHandle(), false); @@ -471,15 +471,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl if( width>0 && height>0 ) { if( !isOffscreenInstance ) { OSXUtil.RunOnMainThread(true, false, new Runnable() { - @Override - public void run() { - setWindowClientTopLeftPointAndSize0(oldWindowHandle, - pClientLevelOnSreen.getX(), pClientLevelOnSreen.getY(), - width, height, 0 != ( STATE_MASK_VISIBLE & flags)); - } } ); - OSXUtil.RunOnMainThread(false, false, new Runnable() { @Override public void run() { + setWindowClientTopLeftPointAndSize0(oldWindowHandle, + pClientLevelOnSreen.getX(), pClientLevelOnSreen.getY(), + width, height, 0 != ( STATE_MASK_VISIBLE & flags)); updateSizePosInsets0(oldWindowHandle, false); } } ); } else { // else offscreen size is realized via recreation @@ -811,15 +807,6 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl throw new NativeWindowException("Could not create native window "+Thread.currentThread().getName()+" "+this); } setWindowHandle( newWin[0] ); - if( !offscreenInstance && 0 != ( STATE_MASK_VISIBLE & flags) ) { - OSXUtil.RunOnMainThread(false, false, new Runnable() { - @Override - public void run() { - orderFront0( newWin[0] ); - } - - }); - } } catch (final Exception ie) { ie.printStackTrace(); } |