eden/src/core/file_sys
BoiledElectricity ce14fc91fb
Some checks failed
tx-src / sources (push) Has been cancelled
Check Strings / check-strings (push) Has been cancelled
[game_list] fix crash and flashing from the directory watcher (#4099)
So the game list watcher could rebuild the content providers
(CreateFactories) while the populate worker was still scanning them, and
the worker would walk a torn-down RegisteredCache and segfault in
OpenFileOrDirectoryConcat. Fixed by stopping and joining the worker
before rebuilding.

On macOS the watcher also re-armed itself every populate. Re-adding the
same paths makes QFileSystemWatcher re-emit directoryChanged (the
FSEvent comes in async, so the blockSignals guard misses it), so it just
kept refreshing and the list flashed forever. Now it only re-arms when
the watched dirs actually changed.

Also null-guarded OpenFileOrDirectoryConcat so a torn-down cache cant
null-deref there.

Related: https://github.com/eden-emulator/Issue-Reports/issues/336
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4099
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-16 16:20:02 +02:00
..
fsa [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
fssrv Address review comments 2024-02-19 19:20:46 +01:00
fssystem [file_sys] fix compilation on GCC 16 (#3917) 2026-05-02 01:12:24 +02:00
system_archive [file_sys/system_archive] remove uneeded ctor/dtor initializations for std::map<> when creating system archives for nx_tzdb generated files (#3919) 2026-05-15 22:05:32 +02:00
vfs [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
bis_factory.cpp User Data Migration from Citron, Sudachi, and Yuzu (#91) 2025-05-08 22:16:07 +00:00
bis_factory.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
card_image.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
card_image.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
common_funcs.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
content_archive.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
content_archive.h am: use applet program loading for tested versions 2024-02-10 12:38:19 -05:00
control_metadata.cpp [file_sys] Avoid crash on empty NACP language entries (#4062) 2026-06-05 17:20:24 +02:00
control_metadata.h [common, hle] add new updates Polish+Thai languages (#3587) 2026-02-23 13:39:16 +01:00
errors.h service: bcat: Address review issues 2024-02-10 00:23:23 -06:00
fs_directory.h scope_exit: Make constexpr 2024-02-19 16:00:46 +01:00
fs_file.h Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
fs_filesystem.h [fs] Add known FileSystemAttribute struct fields (from libhac) (#3275) 2026-01-25 17:03:52 +01:00
fs_memory_management.h fs: Add FileSystemAccessor classes 2024-02-19 19:20:40 +01:00
fs_operate_range.h Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
fs_path.h fs: Add FileSystemAccessor classes 2024-02-19 19:20:40 +01:00
fs_path_utility.h [common] replace Common::(DerivedFrom, IsArithmetic, Size, ConvertibleTo, IsIntegral) with libstdc++ equivalents (#290) 2025-11-07 17:03:01 +01:00
fs_save_data_types.h [fs, qlaunch] add CreateSaveDataFileSystemWithCreationInfo2 and make qlaunch work again (#2760) 2025-10-17 22:23:21 +02:00
fs_string_util.h fs: Add FileSystemAccessor classes 2024-02-19 19:20:40 +01:00
fsmitm_romfsbuild.cpp vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
fsmitm_romfsbuild.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
ips_layer.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
ips_layer.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
kernel_executable.cpp [core/loader] prevent program_image reallocations in NSO+KIP loading methods (#3639) 2026-02-28 01:06:33 +01:00
kernel_executable.h [core/loader] prevent program_image reallocations in NSO+KIP loading methods (#3639) 2026-02-28 01:06:33 +01:00
nca_metadata.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
nca_metadata.h [vfs] remove usage of 'dynamic_cast', use ankerl::map for files (#3594) 2026-02-21 18:38:32 +01:00
partition_filesystem.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
partition_filesystem.h Port changes from Early Access 2025-04-04 03:40:46 +02:00
patch_manager.cpp [file_sys] fix romfs_ext mods (#3914) 2026-05-13 19:13:44 +02:00
patch_manager.h [android] patches bin button + version bug fixes (#3691) 2026-03-09 00:30:10 +01:00
program_metadata.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
program_metadata.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
registered_cache.cpp [game_list] fix crash and flashing from the directory watcher (#4099) 2026-06-16 16:20:02 +02:00
registered_cache.h [android/fs] external content loader + nca/xci patches (#3596) 2026-03-04 22:51:35 +01:00
romfs.cpp [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
romfs.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
romfs_factory.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
romfs_factory.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
savedata_factory.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
savedata_factory.h fs: Add and use fs_save_data_types.h 2024-02-19 19:06:31 +01:00
sdmc_factory.cpp [file_sys] resize SD card size in 4GiB chunks (#3921) 2026-05-09 05:28:22 +02:00
sdmc_factory.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
submission_package.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
submission_package.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
xts_archive.cpp [crypto] Atomize all traces of MbedTLS, and require OpenSSL 3+ (#3606) 2026-02-23 02:50:13 +01:00
xts_archive.h vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00