mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 20:49:09 +02:00
* Fix memleak
This commit is contained in:
parent
7d83cea8da
commit
368a77d75e
@ -169,7 +169,7 @@ type
|
|||||||
function GetString: UnicodeString;
|
function GetString: UnicodeString;
|
||||||
function GetObject(aResultClass: TJSObjectClass): TJSObject;
|
function GetObject(aResultClass: TJSObjectClass): TJSObject;
|
||||||
function GetValue: TJOB_JSValue;
|
function GetValue: TJOB_JSValue;
|
||||||
function GetVariant: Variant;
|
function GetVariant(OwnsObject : Boolean = False): Variant;
|
||||||
function GetLongInt: longint;
|
function GetLongInt: longint;
|
||||||
function GetMaxInt: int64;
|
function GetMaxInt: int64;
|
||||||
function GetArray : TJSArray;
|
function GetArray : TJSArray;
|
||||||
@ -1618,9 +1618,11 @@ end;
|
|||||||
function JOBCallTJSPromiseResolver(const aMethod: TMethod; var H: TJOBCallbackHelper): PByte;
|
function JOBCallTJSPromiseResolver(const aMethod: TMethod; var H: TJOBCallbackHelper): PByte;
|
||||||
var
|
var
|
||||||
aValue: Variant;
|
aValue: Variant;
|
||||||
|
aRes : Variant;
|
||||||
begin
|
begin
|
||||||
aValue:=H.GetVariant;
|
aValue:=H.GetVariant(True);
|
||||||
Result:=H.AllocVariant(TJSPromiseResolver(aMethod)(aValue));
|
aRes:=TJSPromiseResolver(aMethod)(aValue);
|
||||||
|
Result:=H.AllocVariant(aRes);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function JOBCallTJSPromiseFinallyHandler(const aMethod: TMethod; var H: TJOBCallbackHelper): PByte;
|
function JOBCallTJSPromiseFinallyHandler(const aMethod: TMethod; var H: TJOBCallbackHelper): PByte;
|
||||||
@ -3299,7 +3301,7 @@ begin
|
|||||||
inc(Index);
|
inc(Index);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TJOBCallbackHelper.GetVariant: Variant;
|
function TJOBCallbackHelper.GetVariant(OwnsObject : Boolean = False): Variant;
|
||||||
var
|
var
|
||||||
ObjId, Len: LongWord;
|
ObjId, Len: LongWord;
|
||||||
Obj: TJSObject;
|
Obj: TJSObject;
|
||||||
@ -3357,7 +3359,7 @@ begin
|
|||||||
ObjId:=PLongWord(p)^;
|
ObjId:=PLongWord(p)^;
|
||||||
inc(p,4);
|
inc(p,4);
|
||||||
Obj:=TJSObject.JOBCreateFromID(ObjId);
|
Obj:=TJSObject.JOBCreateFromID(ObjId);
|
||||||
Obj.JOBObjectIDOwner:=false;
|
Obj.JOBObjectIDOwner:=OwnsObject;
|
||||||
Result:=Obj as IJSObject;
|
Result:=Obj as IJSObject;
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user