Bläddra i källkod

LibGUI: Fix invalid ModelIndices during shift-click multiselection

Previously, If the widget was unfocused, the selection start index
would be invalid. This would result in invalid selections when doing
shift+click on the widget (while it is unfocused).

Now, we reassign the selection start index to current index
before we initiate multiselection, if selection start index is invalid.

Should Fix SerenityOS#11999 and the same bug inside FileManager.
Aayush 2 år sedan
förälder
incheckning
7a4b912ece
1 ändrade filer med 2 tillägg och 0 borttagningar
  1. 2 0
      Userland/Libraries/LibGUI/AbstractView.cpp

+ 2 - 0
Userland/Libraries/LibGUI/AbstractView.cpp

@@ -493,6 +493,8 @@ void AbstractView::set_cursor(ModelIndex index, SelectionUpdate selection_update
             if (!m_selection.contains(index))
                 clear_selection();
         } else if (selection_update == SelectionUpdate::Shift) {
+            if (!selection_start_index().is_valid())
+                set_selection_start_index(index);
             select_range(index);
         }