Fix bug #944: List index out of bounds in query helpers

This commit is contained in:
Ansgar Becker
2009-01-16 23:35:44 +00:00
parent e1402e48e6
commit a5cf99deb1

View File

@ -5830,7 +5830,7 @@ end;
procedure TMainForm.tabsetQueryHelpersChange(Sender: TObject; NewTab: Integer; procedure TMainForm.tabsetQueryHelpersChange(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean); var AllowChange: Boolean);
var var
i : Integer; i, idx : Integer;
SnippetsAccessible : Boolean; SnippetsAccessible : Boolean;
Files: TStringList; Files: TStringList;
begin begin
@ -5896,12 +5896,10 @@ begin
end; end;
// Restore last selected item in tab // Restore last selected item in tab
if (Length(QueryHelpersSelectedItems[NewTab]) > 0) for i := 0 to Length(QueryHelpersSelectedItems[NewTab]) - 1 do begin
and (Length(QueryHelpersSelectedItems[NewTab]) <= lboxQueryHelpers.Count) then idx := QueryHelpersSelectedItems[NewTab][i];
begin if idx < lboxQueryHelpers.Count then
for i := 0 to Length(QueryHelpersSelectedItems[NewTab]) - 1 do begin lboxQueryHelpers.Selected[idx] := True;
lboxQueryHelpers.Selected[QueryHelpersSelectedItems[NewTab][i]] := True;
end;
end; end;
lboxQueryHelpers.Items.EndUpdate; lboxQueryHelpers.Items.EndUpdate;