mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 01:06:02 +02:00
* use fpc_decr_intf and zeroing for finalizing of interfaces
git-svn-id: trunk@8424 -
This commit is contained in:
parent
25883c18c3
commit
2c10fb7e7d
@ -538,6 +538,18 @@ implementation
|
|||||||
cnilnode.create
|
cnilnode.create
|
||||||
));
|
));
|
||||||
end
|
end
|
||||||
|
else if is_interfacecom(p.resultdef) then
|
||||||
|
begin
|
||||||
|
result:=internalstatements(newstatement);
|
||||||
|
addstatement(newstatement,ccallnode.createintern('fpc_intf_decr_ref',
|
||||||
|
ccallparanode.create(
|
||||||
|
ctypeconvnode.create_internal(p,voidpointertype),
|
||||||
|
nil)));
|
||||||
|
addstatement(newstatement,cassignmentnode.create(
|
||||||
|
ctypeconvnode.create_internal(p.getcopy,voidpointertype),
|
||||||
|
cnilnode.create
|
||||||
|
));
|
||||||
|
end
|
||||||
else
|
else
|
||||||
result:=ccallnode.createintern('fpc_finalize',
|
result:=ccallnode.createintern('fpc_finalize',
|
||||||
ccallparanode.create(
|
ccallparanode.create(
|
||||||
|
Loading…
Reference in New Issue
Block a user