Bug 1212

Summary: OSX: Crash using CALayer at UnsetJAWTRootSurfaceLayer0(..) w/ Java 1.8.0_60
Product: [JogAmp] Nativewindow Reporter: Sven Gothel <sgothel>
Component: macosxAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: critical    
Priority: P1    
Version: 2.3.2   
Hardware: All   
OS: macosx   
Type: --- SCM Refs:
85b32bac4f031dbdb55caa380d5a20440aecbbbd
Workaround: ---

Description Sven Gothel 2015-09-01 04:24:41 CEST
- OSX 10.10.5
- Java 1.8.0_60

Crash using CALayer at UnsetJAWTRootSurfaceLayer0(..) 
as called within MacOSXJAWTWindow.invalidateNative() (caller: destroy())
on the MainThread.

It has been observed that the 
JAWT_SurfaceLayers protocol instance 'surfaceLayers' has been pulled beforehand.

'surfaceLayers' is fetched from the locked JAWT instance
via JAWT_DrawingSurfaceInfo's platformInfo.

It now seems required to retain the instance 
at GetJAWTSurfaceLayersHandle0 and release it
at UnsetJAWTRootSurfaceLayer0 to keep it alive.
Comment 1 Sven Gothel 2015-09-01 05:20:03 CEST
85b32bac4f031dbdb55caa380d5a20440aecbbbd
  - Fixed as described
  
Manually executed 'ant junit.run' on OSX, no failures or errors.