On macOS, adding paths to QFileSystemWatcher can trigger immediate 'directoryChanged' signals (likely due to FSEvent behavior or .DS_Store updates during directory access). This caused a recursive loop where PopulateAsync would trigger itself indefinitely, leading to constant UI refreshing and high CPU usage.
This fix addresses the issue by:
1. Temporarily blocking QFileSystemWatcher signals while the watch list is being populated.
2. Correcting the usage of QList::mid() in the loop (passing length instead of an end index) to avoid massive path duplication.
These changes are isolated to macOS using #ifdef __APPLE__ to ensure no side effects on other platforms.
Authored-by: rayman30
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3418
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: rayman30 <silentbitdev@gmail.com>
Co-committed-by: rayman30 <silentbitdev@gmail.com>
Forgot to disable this. Will be re-enabled when UUID changing can become
a thing
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3428
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
One of those annoyances that stubs your toe
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3420
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Classic case of double-emission of signals. Epic
Also fixed a bug that caused profile manager to not immediately update when a profile was deleted from Qlaunch.
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3422
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
mdlint, AI policy, and an actual release policy that doesn't suck.
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3423
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Automatic translation update for Jan 29
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3417
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: Eden CI <ci@eden-emu.dev>
Co-committed-by: Eden CI <ci@eden-emu.dev>
Metal validation requires fragment shader output types to strictly match the render target format (e.g., writing float to RGBA32Uint is invalid).
This commit:
1. Adds color_output_types to RuntimeInfo.
2. Detects Integer/SignedInteger render targets in the Vulkan backend (MoltenVK only).
3. Updates the SPIR-V emitter to declare the correct output type (Uint/Sint) and bitcast values accordingly.
This fixes the VK_ERROR_INITIALIZATION_FAILED crash on macOS.
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3414
Co-authored-by: rayman30 <silentbitdev@gmail.com>
Co-committed-by: rayman30 <silentbitdev@gmail.com>