From: Colin Clark Date: Sun, 9 Jan 2022 10:10:50 +0000 (+0000) Subject: Fix #939: Ctrl-click inside of a block selection results in whole selection being... X-Git-Tag: v1.7~7 X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commitdiff_plain;h=53c20c8166e02b7aa0ec6926b47162138a342ea7 Fix #939: Ctrl-click inside of a block selection results in whole selection being cancelled https://github.com/BestImageViewer/geeqie/issues/939 --- diff --git a/src/view_file/view_file_list.c b/src/view_file/view_file_list.c index 8ae57c8a..83a483da 100644 --- a/src/view_file/view_file_list.c +++ b/src/view_file/view_file_list.c @@ -798,16 +798,17 @@ static gboolean vflist_select_cb(GtkTreeSelection *selection, GtkTreeModel *stor GtkTreeIter iter; GtkTreePath *cursor_path; - gtk_tree_view_get_cursor(GTK_TREE_VIEW(vf->listview), &cursor_path, NULL); - if (cursor_path) - { - gtk_tree_model_get_iter(store, &iter, cursor_path); - gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &VFLIST(vf)->select_fd, -1); - gtk_tree_path_free(cursor_path); - } - else + VFLIST(vf)->select_fd = NULL; + + if (!path_currently_selected && gtk_tree_model_get_iter(store, &iter, tpath)) { - VFLIST(vf)->select_fd = NULL; + gtk_tree_view_get_cursor(GTK_TREE_VIEW(vf->listview), &cursor_path, NULL); + if (cursor_path) + { + gtk_tree_model_get_iter(store, &iter, cursor_path); + gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &VFLIST(vf)->select_fd, -1); + gtk_tree_path_free(cursor_path); + } } if (vf->layout &&