After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 733887 - [PATCH] GtkTooltip: jerky tooltips
[PATCH] GtkTooltip: jerky tooltips
Status: RESOLVED DUPLICATE of bug 698730
Product: gtk+
Classification: Platform
Component: Widget: Other
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2014-07-28 19:59 UTC by Toni Andjelkovic
Modified: 2014-07-28 22:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fix jerky tooltips (417 bytes, patch)
2014-07-28 19:59 UTC, Toni Andjelkovic
none Details | Review

Description Toni Andjelkovic 2014-07-28 19:59:59 UTC
Created attachment 281885 [details] [review]
fix jerky tooltips

Start gtk+/tests/testtooltips and hover over the tooltip containers.
The tooltips flash up briefly in the upper left corner of the screen, before
being jerkily moved to their proper position under the mouse pointer. There is
a noticeable delay between the first appearance of a tooltip and its subsequent
repositioning, so the tooltips appear to jump back and forth.

Analysis:

In gtk_tooltip_position() (gtk/gtktooltip.c:1002 in the current git version of
gtk+) the function gtk_widget_set_visible() is called at the beginning, before
the tooltip display coordinates have been calculated.

On X11/Fedora, this causes a transparent tooltip window to be rendered in the
upper left corner of the screen, which manifests itself as a brief screen
flicker. Shortly afterwards, the tooltip is moved to its correct position by
gtk_window_move(), followed by gtk_widget_show().

It is unnecessary to call gtk_widget_set_visible() at the beginning of the
function. The tooltip is properly rendered by gtk_widget_show() at the end,
after its display coordinates have been computed.
Comment 1 Matthias Clasen 2014-07-28 22:15:01 UTC

*** This bug has been marked as a duplicate of bug 698730 ***