diff --git a/src-tauri/src/config/runtime.rs b/src-tauri/src/config/runtime.rs index 892e6be7..c406c7f0 100644 --- a/src-tauri/src/config/runtime.rs +++ b/src-tauri/src/config/runtime.rs @@ -26,20 +26,24 @@ impl IRuntime { config.insert(key.into(), value.clone()); } }); - let tun = config.get("tun"); - let mut tun = tun.map_or(Mapping::new(), |val| { - val.as_mapping().cloned().unwrap_or(Mapping::new()) - }); + let patch_tun = patch.get("tun"); - let patch_tun = patch_tun.map_or(Mapping::new(), |val| { - val.as_mapping().cloned().unwrap_or(Mapping::new()) - }); - use_keys(&patch_tun).into_iter().for_each(|key| { - if let Some(value) = patch_tun.get(&key).to_owned() { - tun.insert(key.into(), value.clone()); - } - }); - config.insert("tun".into(), Value::from(tun)); + if patch_tun.is_some() { + let tun = config.get("tun"); + let mut tun = tun.map_or(Mapping::new(), |val| { + val.as_mapping().cloned().unwrap_or(Mapping::new()) + }); + let patch_tun = patch_tun.map_or(Mapping::new(), |val| { + val.as_mapping().cloned().unwrap_or(Mapping::new()) + }); + use_keys(&patch_tun).into_iter().for_each(|key| { + if let Some(value) = patch_tun.get(&key).to_owned() { + tun.insert(key.into(), value.clone()); + } + }); + + config.insert("tun".into(), Value::from(tun)); + } } } }