From bae36631d2fb966b030625def72622b1ae71a304 Mon Sep 17 00:00:00 2001 From: Pcornat Date: Wed, 18 Mar 2026 19:36:11 +0100 Subject: [PATCH] Properly removing a window --- app_win_2_back.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app_win_2_back.cpp b/app_win_2_back.cpp index b51ea15..951358f 100644 --- a/app_win_2_back.cpp +++ b/app_win_2_back.cpp @@ -16,6 +16,7 @@ namespace gui_to_app { namespace views = std::views; AppWin2Back::AppWin2Back() : Gtk::Application("org.billy_adventures.character_sheet", Flags::HANDLES_OPEN) { + signal_window_removed().connect([](const Gtk::Window *window) { delete window; }); Glib::set_application_name("Billy's character sheet"); selection_buttons.reserve(signal_handlers.size()); } @@ -215,9 +216,8 @@ namespace gui_to_app { void AppWin2Back::on_quit() noexcept { ranges::for_each(get_windows() | views::filter([](const auto windows) { return windows != nullptr; }), - [](auto *window) { - window->set_visible(false); - delete window; + [this](auto *window) { + remove_window(*window); }); quit(); }