Centralize layout unload destruction
This commit is contained in:
@@ -588,6 +588,11 @@ agent or engineer to remove them without reconstructing context from chat.
|
||||
checkbox icon removal now route retained node destruction through
|
||||
`src/legacy_ui_overlay_services.*`. The underlying `Node` tree still exposes
|
||||
raw child pointers and public destroy state.
|
||||
- 2026-06-12: DEBT-0063 was narrowed again. Layout unload root destruction and
|
||||
popup tick-overlay close callbacks now route retained node destruction through
|
||||
`src/legacy_ui_overlay_services.*`. `Node::destroy()` itself remains the
|
||||
compatibility boundary until checked tree handles replace raw parent/child
|
||||
mutation.
|
||||
- 2026-06-05: DEBT-0011 was narrowed. The Windows app package smoke target now
|
||||
passes the configure-time CMake executable into `package-smoke.ps1`, so VS
|
||||
2026 generator validation does not depend on an older `cmake` on PATH, and
|
||||
|
||||
@@ -537,6 +537,8 @@ Legacy document-open import/discard prompts and brush-package export completion
|
||||
now route retained dialog closing through the same helper.
|
||||
Flood-fill tool teardown and checkbox icon removal now route retained node
|
||||
destruction through that helper as well.
|
||||
Layout unload root destruction and popup tick-overlay close callbacks now route
|
||||
retained node destruction through that helper.
|
||||
Raw popup callback captures and full close/capture ownership remain part of
|
||||
`DEBT-0063`.
|
||||
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON,
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
#include "asset.h"
|
||||
#include "node.h"
|
||||
#include "node_border.h"
|
||||
#include "legacy_ui_overlay_services.h"
|
||||
#include "layout.h"
|
||||
#include "platform_api/asset_file_load_policy.h"
|
||||
|
||||
void LayoutManager::unload()
|
||||
{
|
||||
for (auto& l : m_layouts)
|
||||
l.second->destroy();
|
||||
pp::panopainter::destroy_legacy_node(*l.second);
|
||||
m_layouts.clear();
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ void bind_legacy_popup_close_destroys_overlay(
|
||||
{
|
||||
popup.on_popup_close = [overlay](Node*) {
|
||||
if (overlay) {
|
||||
overlay->destroy();
|
||||
destroy_legacy_node(*overlay);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user