Summary: | NSWindow drag regions should only be invalidated on the Main Thread! | ||
---|---|---|---|
Product: | [JogAmp] Nativewindow | Reporter: | Sven Gothel <sgothel> |
Component: | macosx | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | critical | ||
Priority: | P2 | ||
Version: | 2.4.0 | ||
Hardware: | All | ||
OS: | macosx | ||
Type: | DEFECT | SCM Refs: |
jogl 1c697274a3c1e976bd9c9b089d6583edf4f346ae
|
Workaround: | --- | ||
Bug Depends on: | |||
Bug Blocks: | 1372, 1393 |
Description
Sven Gothel
2019-04-04 17:10:23 CEST
We may consider this tool here https://developer.apple.com/documentation/code_diagnostics/main_thread_checker as found in a comment on this SDL thread: https://discourse.libsdl.org/t/crash-on-macos-10-14-mojave-with-sdl-showmessagebox/25100 +++ The Jaamsim group has also encountered this issues, which I found by duck duck go'ing the warning ;-) https://groups.google.com/d/topic/jaamsim-users/JGqmj9CRXcU/discussion Call from Main-Thread: NW's OSXUtil.CreateNSWindow0(..) and NEWT's WindowDriver.createWindow0(..) OSX 10.14.3 Mojave issues a WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. The complaint about NativeWindow (NW)'s OSXUtil.CreateNSWindow0(..) might be valid, which does create a NS Window instance w/ NSView and framebuffer initialized. However, the complaint about NEWT's WindowDriver.createWindow0(..) is not, since the initialization incl framebuffer happened later on the main thread. Regardless, encapsulated both construction fully to run on the Main-Thread. +++ Originally the Main-Thread design spec was like: Must run on Main-Thread when or after making visible. +++ Locally run all test on OSX 10.14.4 (another Mojave update) with jdk1.8.0_192.jdk: all tests passed. |