Fix #713: Image preview does not update when pressing shift-up
authorColin Clark <colin.clark@cclark.uk>
Sun, 8 Mar 2020 09:40:45 +0000 (09:40 +0000)
committerColin Clark <colin.clark@cclark.uk>
Sun, 8 Mar 2020 09:40:45 +0000 (09:40 +0000)
https://github.com/BestImageViewer/geeqie/issues/713

When multiple images were selected, when the selection was changed GTK
triggers the selection function on every item selected in turn.
This resulted in the last item in the list being shown as the selected
image.
The code now uses the GtkTree cursor location.

src/view_file/view_file_list.c

index 4b428de..fddca37 100644 (file)
@@ -795,11 +795,14 @@ static gboolean vflist_select_cb(GtkTreeSelection *selection, GtkTreeModel *stor
 {
        ViewFile *vf = data;
        GtkTreeIter iter;
+       GtkTreePath *cursor_path;
 
-       if (!path_currently_selected &&
-           gtk_tree_model_get_iter(store, &iter, tpath))
+       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
                {