fix(iced): prevent duplicate vector layer creation by removing auto-layer creation from CanvasPointerPressed for vector tools

This commit is contained in:
2026-07-16 12:39:20 +03:00
parent 849e3728fe
commit 98afa63752
@@ -1510,19 +1510,15 @@ impl HcieIcedApp {
} }
// Auto-create layer if current tool requires a different layer type // 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 let Some(active) = self.documents[self.active_doc].engine.active_layer() {
if active.layer_type != req_type { 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"); let id = self.documents[self.active_doc].engine.add_layer("Layer");
self.documents[self.active_doc].engine.set_active_layer(id); self.documents[self.active_doc].engine.set_active_layer(id);
}
}
self.refresh_composite_if_needed(); self.refresh_composite_if_needed();
} }
} }