Centralize retained color picker closing

This commit is contained in:
2026-06-12 15:21:56 +02:00
parent a63246f716
commit 9b482d7f6b
3 changed files with 9 additions and 10 deletions

View File

@@ -509,10 +509,10 @@ agent or engineer to remove them without reconstructing context from chat.
popup callbacks, retained close policy, and broader `Node` handle adoption
remain open.
- 2026-06-12: DEBT-0063 was narrowed again. Brush, brush-preset, color, layer,
grid, and stroke popup-panel outside-click close handling now routes through
`src/legacy_ui_overlay_services.*` for release, root removal, and callback
dispatch instead of repeating that sequence in each panel class. Broader
checked-handle and scoped-callback adoption remains open.
grid, stroke, and color-picker popup-panel outside-click close handling now
routes through `src/legacy_ui_overlay_services.*` for release, root removal,
and callback dispatch instead of repeating that sequence in each panel class.
Broader checked-handle and scoped-callback adoption remains open.
- 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

View File

@@ -493,8 +493,9 @@ popup mouse-ignore/flood/capture-child activation for those popup families.
Repeated menu, submenu, combo-box, and brush-preset popup close/release
execution now uses the same retained helper, and popup tick-decoration close
callbacks are bound through the overlay service instead of per-panel lambdas.
Brush, brush-preset, color, layer, grid, and stroke popup-panel outside-click
close handling now shares the same retained release/remove/callback helper.
Brush, brush-preset, color, layer, grid, stroke, and color-picker popup-panel
outside-click close handling now shares the same retained release/remove/
callback 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,

View File

@@ -3,6 +3,7 @@
#include "util.h"
#include "app.h"
#include "canvas.h"
#include "legacy_ui_overlay_services.h"
#include "node_dialog_picker.h"
#include <stdlib.h>
@@ -59,10 +60,7 @@ kEventResult NodeColorPicker::handle_event(Event* e)
m_color_old1->m_color = m_color_old->m_color;
m_color_old->m_color = m_color_cur->m_color;
}
mouse_release();
m_parent->remove_child(this);
if (on_popup_close)
on_popup_close(this);
pp::panopainter::close_legacy_popup_panel(*this, on_popup_close);
}
break;
default: