         {
             if (allowMultipleSelection)
             {
-                selectedIndices = calculateSelectedIndices(mouseDownIndex, pendingSelectionShiftKey, pendingSelectionCtrlKey);
+                setSelectedIndices(calculateSelectedIndices(mouseDownIndex, pendingSelectionShiftKey, pendingSelectionCtrlKey), true);
             }
             else
             {
                 // Must be deselecting the current selected item.
-                selectedIndex = NO_SELECTION;
+                setSelectedIndex(NO_SELECTION, true);
             }
         }
 

                    newInterval.splice(0, 0, i); 
                }
            }
            selectedIndices = newInterval;  
            ensureIndexIsVisible(proposedNewIndex); 
        }
        // Entering the caret state with the Ctrl key down 

import mx.core.IVisualElement;
import mx.core.mx_internal;
import mx.events.DragEvent;
import mx.events.FlexEvent;
import mx.events.SandboxMouseEvent;
import mx.managers.DragManager;
import mx.managers.IFocusManagerComponent;
