fix mono mutal bug (i hope)

This commit is contained in:
Pavel 2022-12-15 16:42:38 +03:00
parent 172b0c2bfa
commit df6317ba09
2 changed files with 14 additions and 8 deletions

View File

@ -409,14 +409,22 @@ begin
node:=Telf_file(data);
lib:=ps4_app.GetLib(Info^.lib^.strName);
if (lib=nil) then Exit;
if (lib=nil) then Exit(nil); //Don't reload!
if (lib^.parent<>node) then Exit;
if (lib^.parent<>node) then Exit(nil); //Don't reload!
Result:=lib^.get_proc(Info^.Nid);
//cache
Info^.lib^.set_proc(Info^.nid,Result);
if (Result=nil) then
begin
Writeln(StdErr,'Warn^:',Info^.lib^.strName,':',ps4libdoc.GetFunctName(Info^.Nid),':',HexStr(Info^.Nid,16));
Exit(nil); //Don't reload!
end;
if (Result<>nil) then //cache
begin
Info^.lib^.set_proc(Info^.nid,Result);
end;
end;
var

View File

@ -1977,15 +1977,13 @@ var
IInfo.sType :=Info^.sType;
val:=TResolveImportCb(PPointer(data)[0])(elf,@IInfo,PPointer(data)[1]);
//Important! Don't store the value if the return is nil!
if (val<>nil) then
begin
nSymVal:=Pointer(ptruint(val)+ptruint(nSymVal));
end else
begin
nSymVal:=nil;
_do_set(nSymVal);
end;
_do_set(nSymVal);
end;
end;