← Commit history

1.0.5: 1.0.5: kicad_add_zone fills the new zones (KiCad 10 refills all zones, not a list); kicad_zone_state

John Lauer ·17bbded2f1 ·1mo ago ·parent 596e013
3 files changed +7−5
rust/Cargo.lock+3−3
@@ -244,7 +244,7 @@ dependencies = [  [[package]] name = "kicad-bridge"-version = "1.0.4"+version = "1.0.5" dependencies = [  "kicad-core",  "kicad-platform",@@ -255,7 +255,7 @@ dependencies = [  [[package]] name = "kicad-core"-version = "1.0.4"+version = "1.0.5" dependencies = [  "kicad-ipc-rs",  "kicad-platform",@@ -281,7 +281,7 @@ dependencies = [  [[package]] name = "kicad-platform"-version = "1.0.4"+version = "1.0.5" dependencies = [  "serde",  "serde_json",
rust/Cargo.toml+1−1
@@ -3,7 +3,7 @@ resolver = "2" members = ["crates/*"]  [workspace.package]-version = "1.0.4"+version = "1.0.5" edition = "2021" license = "MIT" publish = false
rust/crates/kicad-core/src/ipc.rs+3−1
@@ -829,8 +829,10 @@ pub fn add_zone(ctx: &Ctx, args: &Value) -> RResult<Value> {     if ids.len() != count {         result["postCommitError"] = json!(format!("KiCad answered with {} zone ids for {} zones", ids.len(), count));     }+    // KiCad 10.0.x answers AS_UNIMPLEMENTED to RefillZones with a list of zone ids; an empty+    // list means "every zone" and works, so that is what the bridge sends.     if args.get("refill") != Some(&json!(false)) && !ids.is_empty() {-        match s.client.refill_zones(ids.clone()) {+        match s.client.refill_zones(Vec::new()) {             Ok(()) => result["refilled"] = json!(true),             Err(e) => result["postCommitError"] = json!(format!("zones created but not filled: {e}")),         }