diff options
-rw-r--r-- | src/newt/classes/jogamp/newt/driver/ios/WindowDriver.java | 13 | ||||
-rw-r--r-- | src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java | 14 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/newt/classes/jogamp/newt/driver/ios/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/ios/WindowDriver.java index b7ecc23d6..cc8a419d7 100644 --- a/src/newt/classes/jogamp/newt/driver/ios/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/ios/WindowDriver.java @@ -41,6 +41,7 @@ import com.jogamp.nativewindow.util.PointImmutable; import jogamp.nativewindow.SurfaceScaleUtils; import jogamp.nativewindow.ios.IOSUtil; +import jogamp.nativewindow.macosx.OSXUtil; import jogamp.newt.ScreenImpl; import jogamp.newt.WindowImpl; import jogamp.newt.driver.DriverClearFocus; @@ -451,7 +452,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl super.sizeChanged(false, width, height, true); positionChanged(false, x, y); } else { - updateSizePosInsets0(getWindowHandle(), false); + OSXUtil.RunOnMainThread(false, false, new Runnable() { + @Override + public void run() { + updateSizePosInsets0(getWindowHandle(), false); + } } ); } visibleChanged(false, 0 != ( STATE_MASK_VISIBLE & flags)); if( hasFocus ) { @@ -467,7 +472,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl pClientLevelOnSreen.getX(), pClientLevelOnSreen.getY(), width, height, 0 != ( STATE_MASK_VISIBLE & flags)); } } ); - updateSizePosInsets0(oldWindowHandle, false); + OSXUtil.RunOnMainThread(false, false, new Runnable() { + @Override + public void run() { + updateSizePosInsets0(oldWindowHandle, false); + } } ); } else { // else offscreen size is realized via recreation // no native event (fullscreen, some reparenting) super.sizeChanged(false, width, height, false); diff --git a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java index 937c11a5c..bea07d976 100644 --- a/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java +++ b/src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java @@ -457,7 +457,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl super.sizeChanged(false, width, height, true); positionChanged(false, x, y); } else { - updateSizePosInsets0(getWindowHandle(), false); + OSXUtil.RunOnMainThread(false, false, new Runnable() { + @Override + public void run() { + updateSizePosInsets0(getWindowHandle(), false); + } } ); } visibleChanged(false, 0 != ( STATE_MASK_VISIBLE & flags)); if( hasFocus ) { @@ -473,7 +477,11 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl pClientLevelOnSreen.getX(), pClientLevelOnSreen.getY(), width, height, 0 != ( STATE_MASK_VISIBLE & flags)); } } ); - updateSizePosInsets0(oldWindowHandle, false); + OSXUtil.RunOnMainThread(false, false, new Runnable() { + @Override + public void run() { + updateSizePosInsets0(oldWindowHandle, false); + } } ); } else { // else offscreen size is realized via recreation // no native event (fullscreen, some reparenting) super.sizeChanged(false, width, height, false); @@ -619,7 +627,7 @@ public class WindowDriver extends WindowImpl implements MutableSurface, DriverCl protected void setPointerIconImpl(final PointerIconImpl pi) { if( !isOffscreenInstance ) { final long piHandle = null != pi ? pi.validatedHandle() : 0; - OSXUtil.RunOnMainThread(true, false, new Runnable() { // waitUntildone due to PointerIconImpl's Lifecycle ! + OSXUtil.RunOnMainThread(false, false, new Runnable() { @Override public void run() { setPointerIcon0(getWindowHandle(), piHandle); |