From 10b6c46033c6d6caf5be105542a29832e413ce5e Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sun, 8 Jun 2025 17:43:17 +0200 Subject: gui: simplify leak fix --- gui/include/tracker.hpp | 3 --- gui/src/tracker.cpp | 16 ++++++---------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/gui/include/tracker.hpp b/gui/include/tracker.hpp index 7701da1..39b7403 100644 --- a/gui/include/tracker.hpp +++ b/gui/include/tracker.hpp @@ -7,7 +7,6 @@ #define TURNS_GUI_TRACKER_HPP #include "template_widget.hpp" -#include "turn_order_view.hpp" #include @@ -48,7 +47,6 @@ namespace Turns::gui }; Tracker(Glib::RefPtr const & app, Glib::RefPtr const & settings); - ~Tracker() override; auto load(Glib::RefPtr file) -> void; @@ -87,7 +85,6 @@ namespace Turns::gui Gtk::Button * m_start; Adwaita::WindowTitle * m_title; Glib::RefPtr m_turn_order; - TurnOrderView * m_turn_order_view; Glib::RefPtr m_settings{}; Glib::PropertyProxy m_subtitle; 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 #include +#include #include #include @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +61,7 @@ #include #include #include +#include #include #include @@ -91,21 +93,20 @@ namespace Turns::gui , m_start{get_widget("start")} , m_title{get_widget("title")} , m_turn_order{std::make_shared()} - , m_turn_order_view{Gtk::make_managed(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(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 file) -> void { if (file->query_exists()) -- cgit v1.2.3