diff options
Diffstat (limited to 'app/src/main.cpp')
| -rw-r--r-- | app/src/main.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/app/src/main.cpp b/app/src/main.cpp index 9a371d5..f179cf8 100644 --- a/app/src/main.cpp +++ b/app/src/main.cpp @@ -23,6 +23,7 @@ #include <libintl.h> #include <clocale> +#include <print> auto show_about(Glib::RefPtr<Adwaita::Application> app) { @@ -40,9 +41,9 @@ auto main(int argc, char * argv[]) -> int auto app = Adwaita::Application::create("ch.arknet.Turns", Gio::Application::Flags::HANDLES_OPEN); auto settings = turns::core::get_settings(); - + turns::core::register_types(); - + app->signal_startup().connect([app] { turns::ui::register_types(); @@ -64,7 +65,6 @@ auto main(int argc, char * argv[]) -> int app->signal_activate().connect([app, settings] { auto window = new turns::ui::Tracker{app, settings}; - app->signal_shutdown().connect([window] { delete window; }); window->present(); }); @@ -85,5 +85,13 @@ auto main(int argc, char * argv[]) -> int window->load(files[0]); }); + app->signal_window_removed().connect([](auto window) { + auto tracker = dynamic_cast<turns::ui::Tracker *>(window); + if (tracker) + { + delete tracker; + } + }); + return app->run(argc, argv); }
\ No newline at end of file |
