From 698058710f79a5e1cc9b7339847d53c462d3b3c7 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Mon, 12 Aug 2024 20:53:51 +0200 Subject: [PATCH] [bugfix-466] fix potential crashs when beatmods mod has invalid dependencies --- .../version-viewer/slides/mods/mods-grid.component.tsx | 10 +++------- .../slides/mods/mods-slide.component.tsx | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx b/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx index 206941f8..3ee2f227 100644 --- a/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx +++ b/src/renderer/components/version-viewer/slides/mods/mods-grid.component.tsx @@ -33,15 +33,11 @@ export function ModsGrid({ modsMap, installed, modsSelected, onModChange, moreIn const isDependency = (mod: Mod): boolean => { return modsSelected.some(m => { - const deps = m.dependencies.map(dep => - Array.from(modsMap.values()) - .flat() - .find(m => dep.name === m.name) - ); + const deps = m.dependencies?.map(dep => Array.from(modsMap.values()).flat().find(m => dep.name === m.name)) ?? []; if (deps.some(depMod => depMod.name === mod.name)) { return true; } - return deps.some(depMod => depMod.dependencies.some(depModDep => depModDep.name === mod.name)); + return deps.some(depMod => depMod.dependencies?.some(depModDep => depModDep.name === mod.name)); }); }; @@ -78,7 +74,7 @@ export function ModsGrid({ modsMap, installed, modsSelected, onModChange, moreIn modsMap.get(key).some(mod => mod.name.toLowerCase().includes(filter)) && (