From 98afa63752734fabb102ca34f6693c76e2561ecd Mon Sep 17 00:00:00 2001 From: Halit Can Date: Thu, 16 Jul 2026 12:39:20 +0300 Subject: [PATCH] fix(iced): prevent duplicate vector layer creation by removing auto-layer creation from CanvasPointerPressed for vector tools --- hcie-iced-app/crates/hcie-iced-gui/src/app.rs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/hcie-iced-app/crates/hcie-iced-gui/src/app.rs b/hcie-iced-app/crates/hcie-iced-gui/src/app.rs index 0429511..22db41d 100644 --- a/hcie-iced-app/crates/hcie-iced-gui/src/app.rs +++ b/hcie-iced-app/crates/hcie-iced-gui/src/app.rs @@ -1510,19 +1510,15 @@ impl HcieIcedApp { } // Auto-create layer if current tool requires a different layer type - if req_type != hcie_engine_api::LayerType::Text { + // NOTE: Vector layer creation is handled by add_vector_shape() in VectorDrawEnd + // to avoid creating duplicate layers. Only create Raster layers here. + if req_type != hcie_engine_api::LayerType::Text + && req_type != hcie_engine_api::LayerType::Vector + { if let Some(active) = self.documents[self.active_doc].engine.active_layer() { if active.layer_type != req_type { - match req_type { - hcie_engine_api::LayerType::Vector => { - let id = self.documents[self.active_doc].engine.add_layer("Vector Layer"); - self.documents[self.active_doc].engine.set_active_layer(id); - } - _ => { - let id = self.documents[self.active_doc].engine.add_layer("Layer"); - self.documents[self.active_doc].engine.set_active_layer(id); - } - } + let id = self.documents[self.active_doc].engine.add_layer("Layer"); + self.documents[self.active_doc].engine.set_active_layer(id); self.refresh_composite_if_needed(); } }