MultiSelect: removed seemingly unnecessary block in BeginMultiSelect().

- EndIO.RangeSelected always set along with EndIO.RequestSetRange
- Trying to assert for the assignment making a difference when EndIO.RequestSetRange is already set couldn't find a case (tests passing).
diff --git a/imgui.h b/imgui.h
index f7f01a4..95622e8 100644
--- a/imgui.h
+++ b/imgui.h
@@ -2795,7 +2795,7 @@
     bool                    RequestSelectAll;   //  ms:w, app:r  /  ms:w, app:r  // 2. Request app/user to select all.
     bool                    RequestSetRange;    //               /  ms:w, app:r  // 3. Request app/user to select/unselect [RangeFirstItem..RangeLastItem] items based on 'bool RangeSelected'. Only EndMultiSelect() request this, app code can read after BeginMultiSelect() and it will always be false.
     // STATE/ARGUMENTS -------------------------// BEGIN         / END
-    ImGuiSelectionUserData  RangeSrcItem;       //  ms:w  app:r  /               // (If using clipper) Begin: Source item (generally the first selected item when multi-selecting, which is used as a reference point) must never be cliped!
+    ImGuiSelectionUserData  RangeSrcItem;       //  ms:w  app:r  /               // (If using clipper) Begin: Source item (generally the first selected item when multi-selecting, which is used as a reference point) must never be clipped!
     ImGuiSelectionUserData  RangeFirstItem;     //               /  ms:w, app:r  // End: parameter for RequestSetRange request (this is generally == RangeSrcItem when shift selecting from top to bottom)
     ImGuiSelectionUserData  RangeLastItem;      //               /  ms:w, app:r  // End: parameter for RequestSetRange request (this is generally == RangeSrcItem when shift selecting from bottom to top)
     bool                    RangeSelected;      //               /  ms:w, app:r  // End: parameter for RequestSetRange request. true = Select Range, false = Unselect Range.
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 102fa16..7bb21c2 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -7109,12 +7109,12 @@
 // - DebugNodeMultiSelectState() [Internal]
 //-------------------------------------------------------------------------
 
-static void DebugLogMultiSelectRequests(const char* function, const ImGuiMultiSelectIO* data)
+static void DebugLogMultiSelectRequests(const char* function, const ImGuiMultiSelectIO* io)
 {
     ImGuiContext& g = *GImGui;
-    if (data->RequestClear)     IMGUI_DEBUG_LOG_SELECTION("[selection] %s: RequestClear\n", function);
-    if (data->RequestSelectAll) IMGUI_DEBUG_LOG_SELECTION("[selection] %s: RequestSelectAll\n", function);
-    if (data->RequestSetRange)  IMGUI_DEBUG_LOG_SELECTION("[selection] %s: RequestSetRange %" IM_PRId64 "..%" IM_PRId64 " (0x%" IM_PRIX64 "..0x%" IM_PRIX64 ") = %d\n", function, data->RangeFirstItem, data->RangeLastItem, data->RangeFirstItem, data->RangeLastItem, data->RangeSelected);
+    if (io->RequestClear)     IMGUI_DEBUG_LOG_SELECTION("[selection] %s: RequestClear\n", function);
+    if (io->RequestSelectAll) IMGUI_DEBUG_LOG_SELECTION("[selection] %s: RequestSelectAll\n", function);
+    if (io->RequestSetRange)  IMGUI_DEBUG_LOG_SELECTION("[selection] %s: RequestSetRange %" IM_PRId64 "..%" IM_PRId64 " (0x%" IM_PRIX64 "..0x%" IM_PRIX64 ") = %d\n", function, io->RangeFirstItem, io->RangeLastItem, io->RangeFirstItem, io->RangeLastItem, io->RangeSelected);
 }
 
 // Return ImGuiMultiSelectIO structure. Lifetime: valid until corresponding call to EndMultiSelect().
@@ -7169,17 +7169,17 @@
 
     if (ms->IsFocused)
     {
-        // Shortcut: Select all (CTRL+A)
-        if (!(flags & ImGuiMultiSelectFlags_SingleSelect) && !(flags & ImGuiMultiSelectFlags_NoSelectAll))
-            if (Shortcut(ImGuiMod_Ctrl | ImGuiKey_A))
-                ms->BeginIO.RequestSelectAll = true;
-
         // Shortcut: Clear selection (Escape)
         // FIXME-MULTISELECT: Only hog shortcut if selection is not null, meaning we need "has selection or "selection size" data here.
         // Otherwise may be done by caller but it means Shortcut() needs to be exposed.
         if (flags & ImGuiMultiSelectFlags_ClearOnEscape)
             if (Shortcut(ImGuiKey_Escape))
                 ms->BeginIO.RequestClear = true;
+
+        // Shortcut: Select all (CTRL+A)
+        if (!(flags & ImGuiMultiSelectFlags_SingleSelect) && !(flags & ImGuiMultiSelectFlags_NoSelectAll))
+            if (Shortcut(ImGuiMod_Ctrl | ImGuiKey_A))
+                ms->BeginIO.RequestSelectAll = true;
     }
 
     if (g.DebugLogFlags & ImGuiDebugLogFlags_EventSelection)
@@ -7428,12 +7428,6 @@
     // Update/store the selection state of the Source item (used by CTRL+SHIFT, when Source is unselected we perform a range unselect)
     if (storage->RangeSrcItem == item_data)
         storage->RangeSelected = selected ? 1 : 0;
-    if (ms->EndIO.RangeSrcItem == item_data && is_ctrl && is_shift && is_multiselect)
-    {
-        if (ms->EndIO.RequestSetRange)
-            IM_ASSERT(storage->RangeSrcItem == ms->EndIO.RangeSrcItem);
-        ms->EndIO.RangeSelected = selected;
-    }
 
     // Update/store the selection state of focused item
     if (g.NavId == id)