diff src/view_file_icon.c @ 654:6dcfac4b356f

Get rid of vflist_pop_menu() col_idx parameter, use new Viewfile field named clicked_mark. Marks numbering is now consistent with menus (starting at 1, 0 is an invalid mark), assertions were modified accordingly.
author zas_
date Tue, 13 May 2008 19:32:25 +0000
parents 8a1202efa51e
children 3f4bd5ead07a
line wrap: on
line diff
--- a/src/view_file_icon.c	Tue May 13 16:09:43 2008 +0000
+++ b/src/view_file_icon.c	Tue May 13 19:32:25 2008 +0000
@@ -957,6 +957,9 @@
 void vficon_mark_to_selection(ViewFile *vf, gint mark, MarkToSelectionMode mode)
 {
 	GList *work;
+	gint n = mark - 1;
+
+	g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
 
 	work = vf->list;
 	while (work)
@@ -967,7 +970,7 @@
 
 		g_assert(fd->magick == 0x12345678);
 
-		mark_val = fd->marks[mark];
+		mark_val = fd->marks[n];
 		selected = (id->selected & SELECTION_SELECTED);
 
 		switch (mode)
@@ -992,8 +995,9 @@
 {
 	GList *slist;
 	GList *work;
-
-	g_assert(mark >= 0 && mark < FILEDATA_MARKS_SIZE);
+	gint n = mark -1;
+
+	g_assert(mark >= 1 && mark <= FILEDATA_MARKS_SIZE);
 
 	slist = vf_selection_get_list(vf);
 	work = slist;
@@ -1003,11 +1007,11 @@
 
 		switch (mode)
 			{
-			case STM_MODE_SET: fd->marks[mark] = 1;
+			case STM_MODE_SET: fd->marks[n] = 1;
 				break;
-			case STM_MODE_RESET: fd->marks[mark] = 0;
+			case STM_MODE_RESET: fd->marks[n] = 0;
 				break;
-			case STM_MODE_TOGGLE: fd->marks[mark] = !fd->marks[mark];
+			case STM_MODE_TOGGLE: fd->marks[n] = !fd->marks[mark];
 				break;
 			}