fix(clipboard): carry block-internal layers and refresh the layer panel

Cross-drawing paste recreated layers/linetypes/styles only for the
top-level selection, so objects inside a pasted block landed on layers the
target drawing didn't have. Scan the entities inside captured block
definitions for their dependencies too. Also refresh the layer panel after
a paste so the brought-in layers show in the manager and the dropdown.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-21 02:12:58 +03:00
commit e45064f8a8
2 changed files with 10 additions and 2 deletions

View file

@ -623,6 +623,9 @@ impl OpenCADStudio {
// render instead of staying invisible. (#135)
self.tabs[i].scene.populate_meshes_from_document();
self.tabs[i].dirty = true;
// Surface any layers the paste brought in (cross-drawing)
// in the layer manager and the layer dropdown.
self.refresh_layer_panel();
self.refresh_properties();
self.command_line
.push_info(&format!("{count} object(s) pasted."));