[Pidgin] #1422: buddy list tooltip and auto-expand affect wrong buddy

Pidgin trac at pidgin.im
Wed May 30 15:19:20 EDT 2007


#1422: buddy list tooltip and auto-expand  affect wrong buddy
---------------------+------------------------------------------------------
Reporter:  jblittle  |       Owner:  datallah       
    Type:  defect    |      Status:  new            
Priority:  minor     |   Component:  winpidgin (gtk)
 Version:  2.0.1     |    Keywords:                 
 Pending:  0         |  
---------------------+------------------------------------------------------
 Running Windox XP, Pidgin 2.0.1, installed with GTK 2.10.11b.  I have
 tweaked my gtkrc (see below).  When I hover over buddies, the tooltip that
 appears is often for the buddy just above the buddy it should be.  For
 example, I have buddies Abud, Bbud and Cbud in my list.  If I hover over
 Abud, I'll get the (correct) Abud buddy info tooltip.  If I hover over
 Bbud, I'll also (incorrectly) get Abud tooltip.  If I
 hover over Cbud, I get (correct) Cbud tooltip.  At first I thought this
 was an every-other-buddy problem.  But it's not that simple.  It also
 happens regardless
 of the setting of "show buddy details" or "show offline buddies".  I have
 alphabetic sorting enabled, but I have the same problem if I switch to
 manual sorting.

 As a concrete example, currently I'm seeing this ordering of popups (for
 buddies A-O):
  A, A, C, C, D, F, F, H, H, J, J, L, L, N, N

 This problem appears related to a setting in my gtkrc (.purple/gtkrc-2.0).
 I wanted to compress the vertical spacing of the buddy list, so I reduced
 the vertical separation in the tree control.  My gtkrc contains this (in
 its entirety):

 {{{
 style "my-style"
 {
   GtkTreeView::vertical-separator = 0
 }
 widget_class "*" style "my-style"
 }}}

 If I empty my gtkrc and re-read it, the problem goes away.

 This also affects auto-expand when dragging a buddy onto a contact.

 Looking at the 2.0b4 code (where I first saw the problem), the thing I see
 in common between gaim_gtk_blist_expand_timeout, and
 gaim_gtk_blist_tooltip_timeout, is that in both cases, the motion callback
 computes the affected buddy into "tip_rect", and then the timeout function
 uses tip_rect.x and tip_rect.y to map back to the path of the affected
 buddy
 in the model.

 I wonder if there is a fence-post error in GTK regarding this, and if it
 would be better to use (x + width/2), (y + height/2), that is, use the
 center of the tip_rect, in order to find the buddy for a particular rect.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/1422>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list