slackware-current/source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch

31 lines
1.1 KiB
Diff
Raw Permalink Normal View History

Index: gtk/gtkclist.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkclist.c,v
retrieving revision 1.156.2.25
retrieving revision 1.156.2.26
diff -u -p -r1.156.2.25 -r1.156.2.26
--- gtk/gtkclist.c 1 Mar 2001 00:18:20 -0000 1.156.2.25
+++ gtk/gtkclist.c 14 Dec 2002 04:17:03 -0000 1.156.2.26
@@ -2800,10 +2800,6 @@ real_remove_row (GtkCList *clist,
clist->row_list_end = g_list_previous (list);
g_list_remove (list, clist_row);
- /*if (clist->focus_row >=0 &&
- (row <= clist->focus_row || clist->focus_row >= clist->rows))
- clist->focus_row--;*/
-
if (row < ROW_FROM_YPIXEL (clist, 0))
clist->voffset += clist->row_height + CELL_SPACING;
@@ -4331,7 +4327,9 @@ sync_selection (GtkCList *clist,
clist->focus_row += d;
if (clist->focus_row == -1 && clist->rows >= 1)
clist->focus_row = 0;
- else if (clist->focus_row >= clist->rows)
+ else if (d < 0 && clist->focus_row >= clist->rows - 1)
+ clist->focus_row = clist->rows - 2;
+ else if (clist->focus_row >= clist->rows) /* Paranoia */
clist->focus_row = clist->rows - 1;
}