Bug 1429

Summary: JOGL incompatible with SWT 4.20
Product: [JogAmp] Jogl Reporter: Peter Chang <peter.chang>
Component: swtAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P4    
Version: 2.4.0   
Hardware: All   
OS: linux   
Type: DEFECT SCM Refs:
Workaround: ---
Attachments: Diff to patch SWTAccessor

Description Peter Chang 2022-06-22 13:04:34 CEST
Created attachment 855 [details]
Diff to patch SWTAccessor

We updated the target platform to 2021-09 for our Eclipse RCP application that uses JOGL (via Jzy3d) and found an issue.

When JOGL's SWTAccessor class is loaded (for a NewtCanvasSWT or GLCanvas), it initializes some field to point to methods in SWT's internal classes. The recent release of SWT 4.20 separated some gtk methods off to gtk3 and gtk4 specific bindings. This breaks the initialization code when looking for gtk_widget_get_window.

A patch from https://github.com/sgothel/jogl/pull/108 to fix the issue is attached. This patch adds a check for a gtk3 subpackage and finds the relocated methods in there. Note, this new package was not exported until SWT 4.23 (aka 3.119.0 or v4950) so intervening versions will not work when using OSGi class loading.
Comment 1 Sven Gothel 2023-01-24 08:53:45 CET
Support for SWT 4.26 has been added