aboutsummaryrefslogtreecommitdiff
path: root/src/frontend_common/mod_manager.cpp
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2026-04-26 03:26:04 +0200
committercrueter <crueter@eden-emu.dev>2026-04-26 03:26:04 +0200
commit91058d738389490cfb31e9fb4932717f807f6179 (patch)
treebde9e0103a818c5fa9d571cfff04aa67d49a2de1 /src/frontend_common/mod_manager.cpp
parent048d02e5b4e3d86ea86754cc26bd18bab0ec459d (diff)
[desktop] Fix 2 mod manager bugs (#3884)
- Multi-import would show duplicates of a mod if it had both exefs and romfs - Import from folder would crash on some single mods Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3884 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src/frontend_common/mod_manager.cpp')
-rw-r--r--src/frontend_common/mod_manager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/frontend_common/mod_manager.cpp b/src/frontend_common/mod_manager.cpp
index ddb196cf1a..35d7068f2f 100644
--- a/src/frontend_common/mod_manager.cpp
+++ b/src/frontend_common/mod_manager.cpp
@@ -3,6 +3,7 @@
#include <algorithm>
#include <filesystem>
+#include <iostream>
#include <fmt/format.h>
#include "common/fs/fs.h"
#include "common/fs/fs_types.h"
@@ -25,7 +26,10 @@ std::vector<std::filesystem::path> GetModFolder(const std::string& root) {
"romfslite"};
if (std::ranges::find(valid_names, name) != valid_names.end()) {
- paths.emplace_back(entry.path().parent_path());
+ const auto parent = entry.path().parent_path();
+ if (std::ranges::find(paths, parent) == paths.end()) {
+ paths.emplace_back(parent);
+ }
}
return true;