diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index 58e03fe..b838faf 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -541,6 +541,9 @@ agent or engineer to remove them without reconstructing context from chat. - 2026-06-12: DEBT-0063/DEBT-0058 were narrowed again. Cloud publish prompts, upload/download progress dialogs, and cloud browser download-close now route retained closing through `src/legacy_ui_overlay_services.*`. +- 2026-06-12: DEBT-0063/DEBT-0058 were narrowed again. App message-dialog + cancel-button removal, layer-rename finish cleanup, and recording export + progress cleanup now route retained closing through `src/legacy_ui_overlay_services.*`. - 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 diff --git a/docs/modernization/roadmap.md b/docs/modernization/roadmap.md index f32e12f..f17acc3 100644 --- a/docs/modernization/roadmap.md +++ b/docs/modernization/roadmap.md @@ -513,6 +513,8 @@ new/save document cleanup now route retained dialog closing through the same helpers. Cloud publish prompts, upload/download progress dialogs, and cloud browser download-close now use the retained overlay close helpers. +App message-dialog cancel-button removal, layer-rename finish cleanup, and +recording export progress cleanup also route through those helpers. Raw popup callback captures and full close/capture ownership remain part of `DEBT-0063`. `pano_cli inspect-image` exposes PNG IHDR metadata as JSON, diff --git a/src/legacy_app_dialog_services.cpp b/src/legacy_app_dialog_services.cpp index 57d90fa..40ca1bc 100644 --- a/src/legacy_app_dialog_services.cpp +++ b/src/legacy_app_dialog_services.cpp @@ -33,7 +33,7 @@ std::shared_ptr create_legacy_app_message_dialog( if (plan.show_cancel) message->btn_cancel->m_text->set_text(plan.cancel_caption.c_str()); else - message->btn_cancel->destroy(); + close_legacy_dialog_node(*message->btn_cancel); (void)attach_legacy_overlay_node(app, message); return message; } diff --git a/src/legacy_document_layer_services.cpp b/src/legacy_document_layer_services.cpp index 6059a48..3ac6391 100644 --- a/src/legacy_document_layer_services.cpp +++ b/src/legacy_document_layer_services.cpp @@ -5,6 +5,7 @@ #include "action.h" #include "app.h" #include "legacy_document_canvas_services.h" +#include "legacy_ui_overlay_services.h" namespace pp::panopainter { namespace { @@ -71,7 +72,7 @@ public: void finish_layer_rename() override { if (dialog_) - dialog_->destroy(); + pp::panopainter::close_legacy_dialog_node(*dialog_); app_.hideKeyboard(); } diff --git a/src/legacy_recording_services.cpp b/src/legacy_recording_services.cpp index 72d98e2..0da0543 100644 --- a/src/legacy_recording_services.cpp +++ b/src/legacy_recording_services.cpp @@ -5,6 +5,7 @@ #include "app.h" #include "canvas.h" #include "legacy_app_dialog_services.h" +#include "legacy_ui_overlay_services.h" #include "node_progress_bar.h" namespace pp::panopainter { @@ -64,7 +65,7 @@ public: void end_export() override { if (progress_) - progress_->destroy(); + pp::panopainter::close_legacy_dialog_node(*progress_); progress_ = nullptr; }