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 581311 - gtk_tooltip_trigger_tooltip_query shouldn't restart tooltip timeout
gtk_tooltip_trigger_tooltip_query shouldn't restart tooltip timeout
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Widget: Other
2.19.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2009-05-04 13:36 UTC by Kamil Páral
Modified: 2012-11-26 13:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
bug demonstration (270.56 KB, video/ogg)
2009-05-04 13:36 UTC, Kamil Páral
Details

Description Kamil Páral 2009-05-04 13:36:25 UTC
Tooltip over icon in notification area is shown only when rhythmbox is paused. When it is playing, nothing is shown (which is inconvenient, because I have to open the player to look for the name of the currently playing song, when I need to know it). This is a regression from rhythmbox 0.11.6.

See attached bug demonstration.
Comment 1 Kamil Páral 2009-05-04 13:36:46 UTC
Created attachment 133919 [details]
bug demonstration
Comment 2 Jonathan Matthew 2009-05-04 14:25:26 UTC
The tooltip works correctly for me.  There was a gtk+ bug that affected the positioning of the tooltip, so maybe this is related.  What version of gtk+ are you using?
Comment 3 Kamil Páral 2009-05-04 14:37:29 UTC
Oh, I'm sorry. I tried the standard Ubuntu Human theme and it works. It doesn't work under the New Wave theme. So I guess it's not bug in rhythmbox.

As for gtk version, package libgtk2.0-0 is of version 2.16.1-0ubuntu2.
Comment 4 Jonathan Matthew 2009-05-05 00:05:35 UTC
OK, thanks for testing that.  I'm not sure where the new wave theme lives, but I guess you should report this to the theme developers.
Comment 5 Kamil Páral 2009-05-05 07:24:24 UTC
Already did. Sorry for false bug.
Comment 6 Kamil Páral 2009-05-16 12:57:49 UTC
I have resolved the issue with New Wave developer:

https://bugs.launchpad.net/anton/+bug/371697

The solution is to set tooltip timeout to less than 950ms (default in New Wave theme is 1000ms).

I am reopening this bug because I have strong feeling that the bug is in Rhythmbox after all. Because Rhythmbox is the only application making problems. I have edited standard Human-Clearlooks theme default in Ubuntu and added this line to the start of the gtkrc file:

gtk-tooltip-timeout   = 1000

and Rhythmbox tooltips stopped working even in that theme (in which previously worked)!

Because with Rhythmbox paused the tooltips work and with it playing they does not, I think the problem is in counting seconds which you do in the tooltip. Maybe you don't expect the tooltip *not* to be shown after 1sec and you try to modify tooltip which does not still exist.
Comment 7 Jonathan Matthew 2009-05-16 13:24:29 UTC
The tooltip is a completely normal gtk tooltip.  Rhythmbox does not control the timing of the tooltip in any way.
Comment 8 Kamil Páral 2009-05-16 13:30:10 UTC
No, that's not what I mean. But you are changing the tooltip every second, right? So maybe you get somewhere null instead of expected object, or something like that. And don't forget that tooltip for paused Rhythmbox works, just for playing doesn't. And obviously it does not depend on theme (which I thought before). Seems to me that the problem is likely to be in Rhythmbox. Please try it yourself, just add the line to your theme and switch the theme (to apply it).
Comment 9 Jonathan Matthew 2009-05-16 14:17:28 UTC
Thanks for doing the work to track this down.

During playback, rhythmbox will trigger a tooltip query once per second to update the time displayed in the tooltip.  This restarts the timer gtk uses to display the tooltip.  This looks like a bug in gtk's tooltip handling - something internal to the app shouldn't affect the way tooltips are displayed to the user.

This means that any periodically updated tooltip will never be displayed if the update period is less than the tooltip timeout.  Maybe _gtk_tooltip_handle_event needs to know the difference between actual events and those created by gtk_tooltip_trigger_tooltip_query.

Alternatively, if there was a way to find out if a tooltip was visible, the app could refrain from updating the tooltip if the user wouldn't see it anyway.  Seems like this would be tricky for the app to get right.
Comment 10 Javier Jardón (IRC: jjardon) 2009-12-08 01:53:50 UTC
Upgrade version field
Comment 11 Joachim Breitner 2011-11-13 16:12:40 UTC
The same effect can be observed in the multiload applet #645284 and seems to be related to the discussion in #516130.
Comment 12 Joachim Breitner 2012-11-25 17:36:40 UTC
It seems that this has been fixed in gtk 3.4.2.
Comment 13 Cosimo Cecchi 2012-11-26 13:53:30 UTC
Closing as OBSOLETE for comment #12.