Bug 1306 - Medium-weight tooltips are painted behind the GLCanvas
: Medium-weight tooltips are painted behind the GLCanvas
Status: RESOLVED FIXED
: None
: Jogl
: JogAmp
: macosx (show other bugs)
: 2.4.0
: All macosx
: P4 normal
: Sven Gothel
:
: 1299
:
  Show dependency treegraph
 
Reported: 2016-05-13 09:47 CEST by Robin Stevens
Modified: 2019-03-30 04:03 CET (History)
1 user (show)

:
Type: DEFECT
SCM Refs:
jogl d590c5df17650b3790bb434fb7529df874914a09
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.