summaryrefslogtreecommitdiff
path: root/source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch')
-rw-r--r--source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch b/source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch
new file mode 100644
index 00000000..afae023a
--- /dev/null
+++ b/source/l/gtk+/gtk+-1.2.10-clistfocusrow.patch
@@ -0,0 +1,30 @@
+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;
+ }
+