Fix #939: Ctrl-click inside of a block selection results in whole selection being...
[geeqie.git] / src / view_file / view_file_list.c
index 8ae57c8..83a483d 100644 (file)
@@ -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 &&