TAdvSmoothImageListBox eternal loop

Hi, 

v2.4.3.0 
In procedure TAdvSmoothImageListBox.Navigate(Key: Word; Shift: TShiftState);

The following while loop does not ever break if:
- key other than VK_NEXT or VK_PRIOR
- In the direction to move there are no visible items left

while Items[FSelectedItemIndex].Splitter and (FSelectedItemIndex > 0) and (FSelectedItemIndex < Items.Count) or (Items[FSelectedItemIndex].Enabled = false) or (Items[FSelectedItemIndex].Visible = false) do
          begin
            case Key of
            VK_NEXT: i := FSelectedItemIndex + 1;
            VK_PRIOR: i := FSelectedItemIndex - 1;
            else
              ProcessKeyDown(Key, FSelectedItemIndex);
              i := FSelectedItemIndex;
            end;
            if (i <= 1) or (i >= Items.Count) then
              break; 
          end;