From 13207910528e2f553f3f875503b20f104941d958 Mon Sep 17 00:00:00 2001 From: Ingo Weyrich Date: Sat, 27 Jul 2019 11:40:01 +0200 Subject: [PATCH] Backwards thumbnail selection using Shift-key unexpectedly shifts starting point of selection, fixes #5389 --- rtgui/thumbbrowserbase.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index 8392e1b61..dba5390c1 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -178,15 +178,19 @@ void ThumbBrowserBase::selectRange (ThumbBrowserEntryBase* clicked, bool additio if (!additional || !lastClicked) { // Extend the current range w.r.t to first selected entry. ThumbIterator front = std::find(fd.begin(), fd.end(), selected.front()); + ThumbIterator back; ThumbIterator current = std::find(fd.begin(), fd.end(), clicked); if (front > current) { - std::swap(front, current); + front = current; + back = std::find(fd.begin(), fd.end(), selected.back()); + } else { + back = current; } clearSelection(selected); - for (; front <= current && front != fd.end(); ++front) { + for (; front <= back && front != fd.end(); ++front) { addToSelection(*front, selected); } } else {