Hello guys!
There is such a task as saving a file through opening a file manager. It is a fairly easy task, but implementation difficulties have appeared.
I tried to do it through the built-in functionality (now I’ve slightly rewritten the code for getting the parent window ParentWindowHanlder
, I’m testing, I won’t show any problems) - as a result, everything is fine in the dev build, but everything crashes and errors in the shipping version.
Then I tried using the tiny file dialogs library. At least there are optimization problems. As a maximum, the error of such a plan:
Looking for binary: ../../../TestSaveFile/Config/BinaryConfig.ini
Batch offset=0x0 len=0x8 on queue 0 (aperture: 0.0Mb, 0.0Mb VRAM only)
BO: addr=0xfffffffeffffe000-0xfffffffeffffffff size= 8KB handle=00009 capture=1 vram_only=0 name=workaround
BO: addr=0xfffffffeffffd000-0xfffffffeffffdfff size= 4KB handle=00010 capture=0 vram_only=0 name=trivial-batch
LowLevelFatalError [File:Unknown] [Line: 958]
VulkanRHI::vkDeviceWaitIdle(Device) failed, VkResult=-4
at D:/Build/++UE4/Sync/Engine/Source/Runtime/VulkanRHI/Private/VulkanDevice.cpp:1344
with error VK_ERROR_DEVICE_LOST
Signal 11 caught.
Malloc Size=65538 LargeMemoryPoolOffset=65554
CommonUnixCrashHandler: Signal=11
Malloc Size=131160 LargeMemoryPoolOffset=196744
Malloc Size=131160 LargeMemoryPoolOffset=327928
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
./TestSaveFile.sh line 5: 74511 Segmentation fault (memory image flushed to disk) "$UE4_PROJECT_ROOT/TestSaveFile/Binaries/Linux/TestSaveFile-Linux-Shipping" TestSaveFile "$@"
bash-5.2$
Moreover, I tested it on 3 operating systems: Ubuntu, Debian, Fedora. It’s the same everywhere. By the way, the project was not lagging on Fedora.
in the 3rd stage, I tried python scripting. But I didn’t have enough skills and understanding how to write a file saving script using pyside.
In general, please help me at least understand what the error is with the 2nd method. Perhaps someone can tell you how best to implement this so that it works on the shipping versions on windows and linux.
UE4.27, building a project for Linux on Windows - cross-platform
I apologize for my English.