* Patch from Ondrej Pokorny to let AddStrings call beginupdate/endupdate under all circumstances (bug ID 35341)

git-svn-id: trunk@41849 -
This commit is contained in:
michael 2019-04-08 07:51:19 +00:00
parent c3d0757f11
commit cae2c94e90

View File

@ -779,13 +779,16 @@ end;
Procedure TStrings.AddStrings(TheStrings: TStrings; ClearFirst : Boolean);
Var Runner : longint;
begin
beginupdate;
try
if ClearFirst then
Clear;
AddStrings(TheStrings);
if Count + TheStrings.Count > Capacity then
Capacity := Count + TheStrings.Count;
For Runner:=0 to TheStrings.Count-1 do
self.AddObject (Thestrings[Runner],TheStrings.Objects[Runner]);
finally
EndUpdate;
end;
@ -793,31 +796,28 @@ end;
Procedure TStrings.AddStrings(TheStrings: TStrings);
Var Runner : longint;
begin
For Runner:=0 to TheStrings.Count-1 do
self.AddObject (Thestrings[Runner],TheStrings.Objects[Runner]);
AddStrings(TheStrings, False);
end;
Procedure TStrings.AddStrings(const TheStrings: array of string);
Var Runner : longint;
begin
if Count + High(TheStrings)+1 > Capacity then
Capacity := Count + High(TheStrings)+1;
For Runner:=Low(TheStrings) to High(TheStrings) do
self.Add(Thestrings[Runner]);
AddStrings(TheStrings, False);
end;
Procedure TStrings.AddStrings(const TheStrings: array of string; ClearFirst : Boolean);
Var Runner : longint;
begin
beginupdate;
try
if ClearFirst then
Clear;
AddStrings(TheStrings);
if Count + High(TheStrings)+1 > Capacity then
Capacity := Count + High(TheStrings)+1;
For Runner:=Low(TheStrings) to High(TheStrings) do
self.Add(Thestrings[Runner]);
finally
EndUpdate;
end;