mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-17 04:20:53 +01:00
* 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:
parent
c3d0757f11
commit
cae2c94e90
@ -779,13 +779,16 @@ end;
|
|||||||
|
|
||||||
Procedure TStrings.AddStrings(TheStrings: TStrings; ClearFirst : Boolean);
|
Procedure TStrings.AddStrings(TheStrings: TStrings; ClearFirst : Boolean);
|
||||||
|
|
||||||
|
Var Runner : longint;
|
||||||
begin
|
begin
|
||||||
beginupdate;
|
beginupdate;
|
||||||
try
|
try
|
||||||
if ClearFirst then
|
if ClearFirst then
|
||||||
Clear;
|
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
|
finally
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
@ -793,31 +796,28 @@ end;
|
|||||||
|
|
||||||
Procedure TStrings.AddStrings(TheStrings: TStrings);
|
Procedure TStrings.AddStrings(TheStrings: TStrings);
|
||||||
|
|
||||||
Var Runner : longint;
|
|
||||||
begin
|
begin
|
||||||
For Runner:=0 to TheStrings.Count-1 do
|
AddStrings(TheStrings, False);
|
||||||
self.AddObject (Thestrings[Runner],TheStrings.Objects[Runner]);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure TStrings.AddStrings(const TheStrings: array of string);
|
Procedure TStrings.AddStrings(const TheStrings: array of string);
|
||||||
|
|
||||||
Var Runner : longint;
|
|
||||||
begin
|
begin
|
||||||
if Count + High(TheStrings)+1 > Capacity then
|
AddStrings(TheStrings, False);
|
||||||
Capacity := Count + High(TheStrings)+1;
|
|
||||||
For Runner:=Low(TheStrings) to High(TheStrings) do
|
|
||||||
self.Add(Thestrings[Runner]);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure TStrings.AddStrings(const TheStrings: array of string; ClearFirst : Boolean);
|
Procedure TStrings.AddStrings(const TheStrings: array of string; ClearFirst : Boolean);
|
||||||
|
|
||||||
|
Var Runner : longint;
|
||||||
begin
|
begin
|
||||||
beginupdate;
|
beginupdate;
|
||||||
try
|
try
|
||||||
if ClearFirst then
|
if ClearFirst then
|
||||||
Clear;
|
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
|
finally
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user