mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-23 22:31:31 +02:00
* fixed web bug #1707:
* tvarsym.getvaluesize doesn't return 0 anymore for dynarrays (found by Florian) * in genrtti, some more ppointer(data)^ tricks were necessary
This commit is contained in:
parent
c980b07df9
commit
879d8ccb44
@ -1335,6 +1335,7 @@ implementation
|
||||
if assigned(vartype.def) and
|
||||
(varspez=vs_value) and
|
||||
((vartype.def.deftype<>arraydef) or
|
||||
tarraydef(vartype.def).isDynamicArray or
|
||||
(tarraydef(vartype.def).highrange>=tarraydef(vartype.def).lowrange)) then
|
||||
getvaluesize:=vartype.def.size
|
||||
else
|
||||
@ -2439,7 +2440,13 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.27 2001-11-18 18:43:16 peter
|
||||
Revision 1.28 2001-11-30 16:25:35 jonas
|
||||
* fixed web bug 1707:
|
||||
* tvarsym.getvaluesize doesn't return 0 anymore for dynarrays (found
|
||||
by Florian)
|
||||
* in genrtti, some more ppointer(data)^ tricks were necessary
|
||||
|
||||
Revision 1.27 2001/11/18 18:43:16 peter
|
||||
* overloading supported in child classes
|
||||
* fixed parsing of classes with private and virtual and overloaded
|
||||
so it is compatible with delphi
|
||||
|
@ -111,10 +111,10 @@ begin
|
||||
end;
|
||||
{$ifdef HASINTF}
|
||||
tkInterface:
|
||||
Intf_Decr_Ref(Data);
|
||||
Intf_Decr_Ref(PPointer(Data)^);
|
||||
{$endif HASINTF}
|
||||
tkDynArray:
|
||||
fpc_dynarray_decr_ref(Data,TypeInfo);
|
||||
fpc_dynarray_decr_ref(PPointer(Data)^,TypeInfo);
|
||||
{$ifdef HASVARIANT}
|
||||
tkVariant:
|
||||
variant_clear(Variant(PVarData(Data)^))
|
||||
@ -168,6 +168,12 @@ begin
|
||||
With PRecRec(Temp)^.elements[I] do
|
||||
int_AddRef (Data+Offset,Info);
|
||||
end;
|
||||
tkDynArray:
|
||||
fpc_dynarray_incr_ref(PPointer(Data)^,TypeInfo);
|
||||
{$ifdef HASINTF}
|
||||
tkInterface:
|
||||
Intf_Incr_Ref(PPointer(Data)^);
|
||||
{$endif HASINTF}
|
||||
end;
|
||||
end;
|
||||
{$endif}
|
||||
@ -215,10 +221,10 @@ begin
|
||||
fpc_DecRef (Data+Offset,Info);
|
||||
end;
|
||||
tkDynArray:
|
||||
fpc_dynarray_decr_ref(Data,TypeInfo);
|
||||
fpc_dynarray_decr_ref(PPointer(Data)^,TypeInfo);
|
||||
{$ifdef HASINTF}
|
||||
tkInterface:
|
||||
Intf_Decr_Ref(Data);
|
||||
Intf_Decr_Ref(PPointer(Data)^);
|
||||
{$endif HASINTF}
|
||||
end;
|
||||
end;
|
||||
@ -236,7 +242,13 @@ procedure fpc_FinalizeArray(data,typeinfo : pointer;count,size : longint); [Publ
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.9 2001-11-22 07:33:08 michael
|
||||
Revision 1.10 2001-11-30 16:25:35 jonas
|
||||
* fixed web bug 1707:
|
||||
* tvarsym.getvaluesize doesn't return 0 anymore for dynarrays (found
|
||||
by Florian)
|
||||
* in genrtti, some more ppointer(data)^ tricks were necessary
|
||||
|
||||
Revision 1.9 2001/11/22 07:33:08 michael
|
||||
* Fixed memory corruption with finalize() of ansistring in a class
|
||||
|
||||
Revision 1.8 2001/11/17 16:56:08 florian
|
||||
|
Loading…
Reference in New Issue
Block a user