mirror of https://github.com/red-prig/fpPS4.git
fix mono mutal bug (i hope)
This commit is contained in:
parent
172b0c2bfa
commit
df6317ba09
16
fpPS4.lpr
16
fpPS4.lpr
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue