GNOME Bugzilla – Bug 80978
Tooltip for GTK curve behaves incorrectly
Last modified: 2010-06-27 23:55:14 UTC
I have created small application in Glade, containing GTK curve editor with defined tooltip. The tooltip does not disappear correctly when mouse leaves region. You don't need to compile application, the same ugly behavior can be seen in Glade. Note that GTK 2.0 have also this bug (tested in Glade2 without compiling).
GtkCurve is, to be honest, a quite low priority widget.
Move various non-critical bugs onto 2.2.1 milestone.
Mass changing gtk+ bugs with target milestone of 2.4.2 to target 2.4.4, as Matthias said he was trying to do himself on IRC and was asking for help with. If you see this message, it means I was successful at fixing the borken-ness in bugzilla :) Sorry for the spam; just query on this message and delete all emails you get with this message, since there will probably be a lot.
Is this still an issue in recent GTK versions (if so, which one?) or can this be closed as OBSOLETE?
It is still an issue in recent GTK versions (notice the tooltip does disappear if the cursor goes on another window; however it does remain if it just moves to another widget), and the issue in reality is more general: the gtk.Curve seems to behave uncorrectly for all signals related with cursor interaction. "motion_notify_event"s are just not emitted "button_release_event"s are just not emitted "button_press_event"s are emitted only on double click ... and possibly others. The tooltip not disappearing seems to be a simple consequence of the first of the three. To reproduce, take the following python code: -----------------8<-----------------8<-----------------8<-----------------8< #! /usr/bin/env python import gtk def on_button_released(*obj): print obj, 'button released' win=gtk.Window() win.set_size_request(250,250) win.connect('destroy',lambda w:gtk.main_quit()) curve=gtk.Curve() win.add(curve) curve.add_events(gtk.gdk.LEAVE_NOTIFY_MASK | gtk.gdk.ENTER_NOTIFY_MASK|gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK|gtk.gdk.POINTER_MOTION_MASK|gtk.gdk.POINTER_MOTION_HINT_MASK|gtk.gdk.KEY_RELEASE_MASK) curve.connect('motion_notify_event', on_button_released) win.show_all() gtk.main() -----------------8<-----------------8<-----------------8<-----------------8< and try to change "motion_notify_event" with the other mentioned.
GtkCurve has been deprecated for a while; this means that it's not actively maintained. Patches welcome, but just remember that GtkCurve is going to be removed from GTK+ 3.0, along with all the other API deprecated during the 2.x series.
GtkCurve has been removed in GTK+ 2.90