mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 22:29:24 +02:00
* ref. counting for popping second exceptiono object fixed
This commit is contained in:
parent
5a8576ee81
commit
cd86e40cb7
@ -276,18 +276,21 @@ begin
|
||||
If not(assigned(ExceptObjectStack)) or
|
||||
not(assigned(ExceptObjectStack^.next)) then
|
||||
begin
|
||||
writeln ('At end of ExceptionObjectStack');
|
||||
halt (1);
|
||||
writeln ('At end of ExceptionObjectStack');
|
||||
halt (1);
|
||||
end
|
||||
else
|
||||
begin
|
||||
{ we need to return the exception object to dispose it }
|
||||
fpc_PopSecondObjectStack:=ExceptObjectStack^.next^.FObject;
|
||||
hp:=ExceptObjectStack^.next;
|
||||
ExceptObjectStack^.next:=hp^.next;
|
||||
if assigned(hp^.frames) then
|
||||
freemem(hp^.frames);
|
||||
dispose(hp);
|
||||
if ExceptObjectStack^.next^.refcount=0 then
|
||||
{ we need to return the exception object to dispose it if refcount=0 }
|
||||
fpc_PopSecondObjectStack:=ExceptObjectStack^.next^.FObject
|
||||
else
|
||||
fpc_PopSecondObjectStack:=nil;
|
||||
hp:=ExceptObjectStack^.next;
|
||||
ExceptObjectStack^.next:=hp^.next;
|
||||
if assigned(hp^.frames) then
|
||||
freemem(hp^.frames);
|
||||
dispose(hp);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -346,7 +349,10 @@ begin
|
||||
end;
|
||||
{
|
||||
$Log$
|
||||
Revision 1.19 2005-02-14 17:13:22 peter
|
||||
Revision 1.20 2005-04-03 11:32:05 florian
|
||||
* ref. counting for popping second exceptiono object fixed
|
||||
|
||||
Revision 1.19 2005/02/14 17:13:22 peter
|
||||
* truncate log
|
||||
|
||||
Revision 1.18 2005/01/29 17:01:18 peter
|
||||
|
Loading…
Reference in New Issue
Block a user