From 974cd8fe689bef3bdde84bde666323dad5f62ef8 Mon Sep 17 00:00:00 2001 From: webbrain-one <295484252+webbrain-one@users.noreply.github.com> Date: Sun, 2 Aug 2026 21:08:47 +0300 Subject: [PATCH] Fix crash on Windows caused by backslash paths Handle backslash path separators in the control engine to prevent runtime failures on Windows. Fixes #269 --- crates/bitang/src/engine/control/controls.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/bitang/src/engine/control/controls.rs b/crates/bitang/src/engine/control/controls.rs index bcd72e6..23ba4e8 100644 --- a/crates/bitang/src/engine/control/controls.rs +++ b/crates/bitang/src/engine/control/controls.rs @@ -1,9 +1,10 @@ use std::cell::{Cell, RefCell}; use std::cmp::max; use std::path::Path; + +use dunce::simplified; use std::rc::Rc; use std::{array, mem}; - use ahash::AHashSet; use anyhow::{Context, Result}; use dashmap::mapref::entry::Entry::{Occupied, Vacant}; @@ -205,7 +206,7 @@ impl ControlRepository { #[instrument] pub fn load_control_files(root_path: &Path) -> Result { let by_id = DashMap::new(); - let path = root_path.join(CHARTS_FOLDER); + let path = simplified(root_path).join(CHARTS_FOLDER); for entry in std::fs::read_dir(path)? { let entry = entry?; let path = entry.path();