fix(iced): prevent duplicate vector layer creation by removing auto-layer creation from CanvasPointerPressed for vector tools
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user