Bug 1306

Summary: Medium-weight tooltips are painted behind the GLCanvas
Product: [JogAmp] Jogl Reporter: Robin Stevens <robin.stevens>
Component: macosxAssignee: Sven Gothel <sgothel>
Severity: normal CC: gouessej
Priority: P4    
Version: 2.4.0   
Hardware: All   
OS: macosx   
Type: DEFECT SCM Refs:
jogl d590c5df17650b3790bb434fb7529df874914a09
Workaround: ---
Bug Depends on: 1299    
Bug Blocks:    

Description Robin Stevens 2016-05-13 09:47:37 CEST
Swing has 3 code paths for showing tooltips:
- Lightweight tooltips (which can be disabled using javax.swing.ToolTipManager#setLightWeightPopupEnabled(false) )
- Medium tooltips, which are used when the tooltip fits completely within the bounds of the application frame
- Heavyweight tooltips, which are used when the tooltip overlaps with an area outside the bounds of the application frame.

On OS X using JDK8, the medium tooltips are painted behind the GLCanvas when not using the Aqua look and feel (the reason that it works with the Aqua look and feel is that the Aqua look and feel uses its own PopupFactory instance).

A reproducible program can be found on StackOverflow (http://stackoverflow.com/q/37001959/1076463), together with screenshots illustrating the problem.

The StackOverflow also contains a dirty workaround to enforce the use of heavyweight tooltips instead of medium tooltips. The workaround uses reflection, so it would be nice if I no longer need this workaround and the issue gets fixed in JOGL.
Comment 1 Robin Stevens 2016-05-17 14:59:49 CEST
I just created a new build locally from the master branch on Github with patch https://jogamp.org/bugzilla/attachment.cgi?id=786 applied.

After only replacing jogl-all-natives-macosx-universal.jar in my project with the build/jar/jogl-all-natives-macosx-universal.jar from the custom build, this issue goes away.
Comment 2 Sven Gothel 2019-03-30 03:59:41 CET
If you rely on such .. you need to use GLJPanel I am afraid.
Comment 3 Sven Gothel 2019-03-30 04:03:19 CET
Sorry, I see. Fix for bug 1299 also fixes this issue. Great.