diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-06-08 17:43:17 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-06-08 17:43:17 +0200 |
| commit | 10b6c46033c6d6caf5be105542a29832e413ce5e (patch) | |
| tree | 6486a9d2c27a31dacf7adf0ea5c44b7f70c2404b /gui/src/tracker.cpp | |
| parent | 92f655a6b481ce5cc6b5d41780114dba3aafc895 (diff) | |
| download | turns-10b6c46033c6d6caf5be105542a29832e413ce5e.tar.xz turns-10b6c46033c6d6caf5be105542a29832e413ce5e.zip | |
gui: simplify leak fix
Diffstat (limited to 'gui/src/tracker.cpp')
| -rw-r--r-- | gui/src/tracker.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gui/src/tracker.cpp b/gui/src/tracker.cpp index 185ee61..c45b896 100644 --- a/gui/src/tracker.cpp +++ b/gui/src/tracker.cpp @@ -9,7 +9,6 @@ #include "participant_editor.hpp" #include "preferences.hpp" #include "resources.hpp" -#include "settings.hpp" #include "template_widget.hpp" #include "turn_order_view.hpp" @@ -19,6 +18,7 @@ #include <sigc++/adaptors/bind.h> #include <sigc++/functors/mem_fun.h> +#include <glib-object.h> #include <glib/gi18n.h> #include <gtk/gtk.h> @@ -37,6 +37,7 @@ #include <giomm/settings.h> #include <glibmm/binding.h> #include <glibmm/i18n.h> +#include <glibmm/object.h> #include <glibmm/objectbase.h> #include <glibmm/propertyproxy.h> #include <glibmm/refptr.h> @@ -60,6 +61,7 @@ #include <exception> #include <format> #include <memory> +#include <print> #include <string> #include <utility> @@ -91,21 +93,20 @@ namespace Turns::gui , m_start{get_widget<Gtk::Button>("start")} , m_title{get_widget<Adwaita::WindowTitle>("title")} , m_turn_order{std::make_shared<TurnOrder>()} - , m_turn_order_view{Gtk::make_managed<TurnOrderView>(m_turn_order)} , m_settings{std::move(settings)} , m_subtitle{m_title->property_subtitle()} , m_css{Gtk::CssProvider::create()} { if (!settings) { - m_turn_order_view->set_parent(*this); return; } setup_colors(); setup_actions(); - m_stack->add(*m_turn_order_view); + auto view = Gtk::make_managed<TurnOrderView>(m_turn_order); + m_stack->add(*view); m_turn_order->property_empty().signal_changed().connect(sigc::mem_fun(*this, &Tracker::update_subtitle)); // m_turn_order->round_number().signal_changed().connect(sigc::mem_fun(*this, &Tracker::update_subtitle)); @@ -115,7 +116,7 @@ namespace Turns::gui Glib::Binding::bind_property(m_turn_order->property_empty(), m_stack->property_visible_child(), Glib::Binding::Flags::SYNC_CREATE, - [this](auto empty) { return empty ? m_empty : m_turn_order_view; }); + [this, view](auto empty) { return empty ? m_empty : view; }); Glib::Binding::bind_property(m_turn_order->property_running(), m_controls->property_reveal_child(), @@ -125,11 +126,6 @@ namespace Turns::gui // m_settings->bind("skip-defeated", m_turn_order->skip_defeated()); } - Tracker::~Tracker() - { - m_turn_order_view->unparent(); - } - auto Tracker::load(Glib::RefPtr<Gio::File> file) -> void { if (file->query_exists()) |
