From 62e787bb1d01d109aa38bb4c9544ffca5cb92cc7 Mon Sep 17 00:00:00 2001 From: Pavel <68122101+red-prig@users.noreply.github.com> Date: Wed, 15 May 2024 21:12:27 +0300 Subject: [PATCH] + --- gui/cfg_edit.pas | 46 ++++++++++++++++++----------------- gui/game_edit.pas | 34 +++++++++++++++----------- sys/kern/kern_rtld.pas | 6 ++--- sys/kern/subr_dynlib.pas | 8 +++--- vulkan/vHostBufferManager.pas | 1 + 5 files changed, 52 insertions(+), 43 deletions(-) diff --git a/gui/cfg_edit.pas b/gui/cfg_edit.pas index 47d3b9a3..88e90a3a 100644 --- a/gui/cfg_edit.pas +++ b/gui/cfg_edit.pas @@ -87,36 +87,38 @@ procedure DoOpenFile(Edit:TEdit); var d:TOpenDialog; begin - d:=TOpenDialog.Create(nil); - - d.InitialDir:=Edit.Text; - - d.Options:=[ofPathMustExist,ofEnableSizing,ofViewDetail]; - - if d.Execute then - begin - Edit.Text:=d.FileName; + d:=nil; + try + d:=TOpenDialog.Create(nil); + d.InitialDir:=Edit.Text; + d.Options:=[ofPathMustExist,ofEnableSizing,ofViewDetail]; + if d.Execute then + begin + Edit.Text:=d.FileName; + end; + except + // end; - - d.Free; + FreeAndNil(d); end; procedure DoOpenDir(Edit:TEdit); var d:TSelectDirectoryDialog; begin - d:=TSelectDirectoryDialog.Create(nil); - - d.InitialDir:=Edit.Text; - - d.Options:=[ofPathMustExist,ofEnableSizing,ofViewDetail]; - - if d.Execute then - begin - Edit.Text:=d.FileName; + d:=nil; + try + d:=TSelectDirectoryDialog.Create(nil); + d.InitialDir:=Edit.Text; + d.Options:=[ofPathMustExist,ofEnableSizing,ofViewDetail]; + if d.Execute then + begin + Edit.Text:=d.FileName; + end; + except + // end; - - d.Free; + FreeAndNil(d); end; procedure TfrmCfgEditor.BtnLogOpenClick(Sender: TObject); diff --git a/gui/game_edit.pas b/gui/game_edit.pas index 1c3df3df..d9887c48 100644 --- a/gui/game_edit.pas +++ b/gui/game_edit.pas @@ -97,22 +97,28 @@ procedure TButtonPath.OpenDir(Sender:TObject); var d:TSelectDirectoryDialog; begin - d:=TSelectDirectoryDialog.Create(nil); + d:=nil; - with TMyStringGrid(Editor.Parent) do - begin - d.InitialDir:=Cells[1,aRow]; + try + d:=TSelectDirectoryDialog.Create(nil); + + with TMyStringGrid(Editor.Parent) do + begin + d.InitialDir:=Cells[1,aRow]; + end; + + d.Options:=[ofPathMustExist,ofEnableSizing,ofViewDetail]; + + if d.Execute then + with TMyStringGrid(Editor.Parent) do + begin + Cells[1,aRow]:=d.FileName; + end; + + except + // end; - - d.Options:=[ofPathMustExist,ofEnableSizing,ofViewDetail]; - - if d.Execute then - with TMyStringGrid(Editor.Parent) do - begin - Cells[1,aRow]:=d.FileName; - end; - - d.Free; + FreeAndNil(d); TfrmGameEditor(Self.Form).LoadParamSfo(True); diff --git a/sys/kern/kern_rtld.pas b/sys/kern/kern_rtld.pas index c894e520..f7736700 100644 --- a/sys/kern/kern_rtld.pas +++ b/sys/kern/kern_rtld.pas @@ -1112,7 +1112,7 @@ begin vm_object_deallocate(imgp^.obj); // Writeln(StdErr,'[',HexStr(vaddr_lo,8),'..',HexStr(vaddr_hi,8),']'); - Writeln(StdErr,'[KERNEL] self_load_section: vm_map_insert failed ',id,', ',HexStr(vaddr,8)); + Writeln(StdErr,'[KERNEL] self_load_section: vm_map_insert failed ',id,', ',HexStr(vaddr,8),' (',Result,')'); Exit(vm_mmap_to_errno(Result)); end; @@ -1139,7 +1139,7 @@ begin vm_map_unlock(map); // Writeln(StdErr,'[KERNEL] self_load_section: copyout failed ', - id,', ',HexStr(base),'->',HexStr(vaddr_lo,8),':',HexStr(memsz,8)); + id,', ',HexStr(base),'->',HexStr(vaddr_lo,8),':',HexStr(memsz,8),' (',Result,')'); Assert(false,'self_load_section'); Exit; end; @@ -1149,7 +1149,7 @@ begin begin vm_map_unlock(map); // - Writeln(StdErr,'[KERNEL] self_load_section: vm_map_protect failed ',id,', ',HexStr(vaddr,8)); + Writeln(StdErr,'[KERNEL] self_load_section: vm_map_protect failed ',id,', ',HexStr(vaddr,8),' (',Result,')'); Exit(vm_mmap_to_errno(Result)); end; diff --git a/sys/kern/subr_dynlib.pas b/sys/kern/subr_dynlib.pas index dc583c05..65d61fbe 100644 --- a/sys/kern/subr_dynlib.pas +++ b/sys/kern/subr_dynlib.pas @@ -2828,7 +2828,7 @@ begin error:=rtld_mmap(@vaddr_lo,obj^.map_size); if (error<>0) then begin - Writeln(StdErr,'preload_prx_internal:','failed to allocate VA for ',obj^.lib_path); + Writeln(StdErr,'[KERNEL] preload_prx_internal:','failed to allocate VA for ',obj^.lib_path,' (',error,')'); Exit(error); end; @@ -2848,7 +2848,7 @@ begin vm_map_unlock(map); // Writeln(StdErr,'[',HexStr(vaddr_lo,8),'..',HexStr(vaddr_hi,8),']'); - Writeln(StdErr,'[KERNEL] preload_prx_internal: vm_map_insert failed ',HexStr(vaddr_lo,8)); + Writeln(StdErr,'[KERNEL] preload_prx_internal: vm_map_insert failed ',HexStr(vaddr_lo,8),' (',error,')'); error:=vm_mmap_to_errno(error); Exit(error); end; @@ -2870,7 +2870,7 @@ begin begin vm_map_unlock(map); // - Writeln(StdErr,'[KERNEL] preload_prx_internal: vm_map_protect failed ',HexStr(vaddr_lo,8)); + Writeln(StdErr,'[KERNEL] preload_prx_internal: vm_map_protect failed ',HexStr(vaddr_lo,8),' (',error,')'); error:=vm_mmap_to_errno(error); Exit(error); end; @@ -2881,7 +2881,7 @@ begin begin vm_map_unlock(map); // - Writeln(StdErr,'[KERNEL] preload_prx_internal: vm_map_protect failed ',HexStr(QWORD(data),8)); + Writeln(StdErr,'[KERNEL] preload_prx_internal: vm_map_protect failed ',HexStr(QWORD(data),8),' (',error,')'); error:=vm_mmap_to_errno(error); Exit(error); end; diff --git a/vulkan/vHostBufferManager.pas b/vulkan/vHostBufferManager.pas index 4dc596ee..5e73359d 100644 --- a/vulkan/vHostBufferManager.pas +++ b/vulkan/vHostBufferManager.pas @@ -98,6 +98,7 @@ var buf:TvHostBuffer; __end:QWORD; begin + Result:=nil; __end:=Addr+Size; key:=Default(TvHostBufferKey);