http://bugzilla.real-time.com/show_bug.cgi?id=33 *** shadow/33 Tue Jul 4 19:39:26 2000 --- shadow/33.tmp.25075 Tue Jul 4 19:39:26 2000 *************** *** 0 **** --- 1,43 ---- + Bug#: 33 + Product: Crossfire + Version: 0.95.6 + Platform: PC + OS/Version: other + Status: NEW + Resolution: + Severity: normal + Priority: P3 + Component: X11 Client + AssignedTo: crossfire-devel at lists.real-time.com + ReportedBy: frank_mckenney at mindspring.com + URL: + Cc: + Summary: Client 'You see:' list position gets reset to 0 unexpectedly + + X11 client + + If there are more items on the player's square than can be shown in the + 'You see:' window and if the list has been scrolled so that the topmost + visible item is not the first item in the list, picking up an item may + cause the list view to "reset" itstelf so that the topmost item shown + _is_ the first item in the list. + + This extremely annoying behavior can be seen when trying to pick out + (e.g.) non-cursed items from a post-battle pile of assorted weapons and + armor. It can also be seen when opening a stack of (hopefully + de-trapped (;-)) chests. + + At one point it appeared that this problem was related to the presence + of "animated" icons in hte list (e.g. gems), but the evidence is a + litle muddy. + + In terms of the client code, this seems to happen when + x11.c/draw_list(l) is called and: + + l == look_list + l->env is non-NULL + l->env->inv is NULL + + Since there appear to be no items in the list, draw_list() forces the + look_list->item_pos to 0, so on the next pass through draw_list(), when + l->env->inv is non-NULL, the list is drawn from its first item.