GNOME Bugzilla – Bug 617992
percentage tooltips don't get updated
Last modified: 2011-11-14 19:28:51 UTC
Created attachment 160490 [details] the patch When i hover mouse cursor over one of multiload graphs, a tooltip with according details appears. But the tooltip seams to be static, its text doesn't change according to new data arriving to the graph. The function responsible for updating the tooltip is multiload_applet_tooltip_update(), which is called from load_graph_update(), which is timer callback. The call is conditional and depends on whether the tooltip_update property of LoadGraph is set. It is set in multiload_enter_cb() and cleared back in multiload_leave_cb(). But, it turns out that multiload_leave_cb() is called immediately after multiload_enter_cb(). Here is a gdb session, where the breakpoint triggered immediately after moving cursor into graph: Reading symbols from /home/max/src/gnome-applets/multiload/multiload-applet-2...done. (gdb) break multiload_leave_cb Breakpoint 1 at 0x804cbf3: file main.c, line 225. (gdb) run Starting program: /home/max/src/gnome-applets/multiload/multiload-applet-2 [Thread debugging using libthread_db enabled] Breakpoint 1, multiload_leave_cb (widget=0x80811f8, event=0x80dd240, data=0x80cb670) at main.c:225 225 { (gdb) bt
+ Trace 221787
$1 = GDK_NOTIFY_INFERIOR The documentation says about GDK_NOTIFY_INFERIOR: "the window is entered from an inferior or left towards an inferior". The enter and leave signals are being connected to the panel widget, so upon hovering cursor there, they first arrive to the widget, and then traverse down to appropriate child, generating leave event with GDK_NOTIFY_INFERIOR flag for the parent. So the fix itself is in moving the dispatching of hover signals to the LoadGraph's bottommost widgets. Patch is included.
bug #423676 describes the save issue, i.e. is duplicate
also, the patch fixes bug #556858. Tooltip updating should not involve changing graph's data in any case.
The patch looks good and I've committed it to master. Thanks for the ping.
*** Bug 423676 has been marked as a duplicate of this bug. ***
*** Bug 603747 has been marked as a duplicate of this bug. ***