|
@@ -370,7 +370,9 @@ type
|
|
parent : pointer;
|
|
parent : pointer;
|
|
end;
|
|
end;
|
|
begin
|
|
begin
|
|
- if (_self=nil) then
|
|
|
|
|
|
+ { already released? }
|
|
|
|
+ if (_self=nil) or
|
|
|
|
+ (ppointer(_self+vmt_pos)^=nil) then
|
|
exit;
|
|
exit;
|
|
if (pvmt(ppointer(_self+vmt_pos)^)^.size=0) or
|
|
if (pvmt(ppointer(_self+vmt_pos)^)^.size=0) or
|
|
(pvmt(ppointer(_self+vmt_pos)^)^.size+pvmt(ppointer(_self+vmt_pos)^)^.msize<>0) then
|
|
(pvmt(ppointer(_self+vmt_pos)^)^.size+pvmt(ppointer(_self+vmt_pos)^)^.msize<>0) then
|
|
@@ -417,6 +419,8 @@ end;
|
|
{$endif FPC_SYSTEM_HAS_FPC_HELP_FAIL}
|
|
{$endif FPC_SYSTEM_HAS_FPC_HELP_FAIL}
|
|
|
|
|
|
|
|
|
|
|
|
+{$ifndef NOCLASSHELPERS}
|
|
|
|
+
|
|
{$ifndef FPC_SYSTEM_HAS_FPC_NEW_CLASS}
|
|
{$ifndef FPC_SYSTEM_HAS_FPC_NEW_CLASS}
|
|
function fpc_new_class(_self,_vmt:pointer):pointer;[public,alias:'FPC_NEW_CLASS']; {$ifdef hascompilerproc} compilerproc; {$endif}
|
|
function fpc_new_class(_self,_vmt:pointer):pointer;[public,alias:'FPC_NEW_CLASS']; {$ifdef hascompilerproc} compilerproc; {$endif}
|
|
begin
|
|
begin
|
|
@@ -442,6 +446,8 @@ begin
|
|
end;
|
|
end;
|
|
{$endif ndef FPC_SYSTEM_HAS_FPC_DISPOSE_CLASS}
|
|
{$endif ndef FPC_SYSTEM_HAS_FPC_DISPOSE_CLASS}
|
|
|
|
|
|
|
|
+{$endif NOCLASSHELPERS}
|
|
|
|
+
|
|
|
|
|
|
{$ifndef FPC_SYSTEM_HAS_FPC_CHECK_OBJECT}
|
|
{$ifndef FPC_SYSTEM_HAS_FPC_CHECK_OBJECT}
|
|
procedure fpc_check_object(_vmt : pointer);saveregisters;[public,alias:'FPC_CHECK_OBJECT']; {$ifdef hascompilerproc} compilerproc; {$endif}
|
|
procedure fpc_check_object(_vmt : pointer);saveregisters;[public,alias:'FPC_CHECK_OBJECT']; {$ifdef hascompilerproc} compilerproc; {$endif}
|
|
@@ -959,7 +965,11 @@ end;
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.54 2003-04-23 13:10:09 peter
|
|
|
|
|
|
+ Revision 1.55 2003-05-13 19:18:08 peter
|
|
|
|
+ * fpc_help_fail compilerproc
|
|
|
|
+ * fpc_new_class, fpc_dispose_class not needed by latest compiler
|
|
|
|
+
|
|
|
|
+ Revision 1.54 2003/04/23 13:10:09 peter
|
|
* remvoe objectsize loading from help_destructor
|
|
* remvoe objectsize loading from help_destructor
|
|
* implement fpc_check_object
|
|
* implement fpc_check_object
|
|
* saveregistrers for check_object
|
|
* saveregistrers for check_object
|