diff --git a/libs/ui/include/psemek/ui/frame.hpp b/libs/ui/include/psemek/ui/frame.hpp index 938d12a6..23440467 100644 --- a/libs/ui/include/psemek/ui/frame.hpp +++ b/libs/ui/include/psemek/ui/frame.hpp @@ -15,8 +15,6 @@ namespace psemek::ui virtual std::optional> min_size() const { return min_size_; } virtual std::optional> max_size() const { return max_size_; } - ~frame() override; - private: std::optional> min_size_; std::optional> max_size_; diff --git a/libs/ui/include/psemek/ui/scroller.hpp b/libs/ui/include/psemek/ui/scroller.hpp index 6192ede7..c764c799 100644 --- a/libs/ui/include/psemek/ui/scroller.hpp +++ b/libs/ui/include/psemek/ui/scroller.hpp @@ -38,8 +38,6 @@ namespace psemek::ui void draw(painter & p) const override; void post_draw(painter & p) const override; - ~scroller() override; - protected: virtual float width() const; diff --git a/libs/ui/include/psemek/ui/single_container.hpp b/libs/ui/include/psemek/ui/single_container.hpp index 62720603..5aff6644 100644 --- a/libs/ui/include/psemek/ui/single_container.hpp +++ b/libs/ui/include/psemek/ui/single_container.hpp @@ -13,6 +13,8 @@ namespace psemek::ui virtual std::shared_ptr set_child(std::shared_ptr c); virtual std::shared_ptr child() { return child_; } + ~single_container() override; + protected: std::shared_ptr child_; element * children_[1]{nullptr}; diff --git a/libs/ui/source/frame.cpp b/libs/ui/source/frame.cpp index 3b05cd99..4bdd081b 100644 --- a/libs/ui/source/frame.cpp +++ b/libs/ui/source/frame.cpp @@ -22,9 +22,4 @@ namespace psemek::ui post_reshape(); } - frame::~frame() - { - release_children(); - } - } diff --git a/libs/ui/source/scroller.cpp b/libs/ui/source/scroller.cpp index 443eb46b..74c2cddf 100644 --- a/libs/ui/source/scroller.cpp +++ b/libs/ui/source/scroller.cpp @@ -291,11 +291,6 @@ namespace psemek::ui p.end_stencil(); } - scroller::~scroller() - { - release_children(); - } - float scroller::width() const { return 0; diff --git a/libs/ui/source/single_container.cpp b/libs/ui/source/single_container.cpp index 8184a6df..020a267f 100644 --- a/libs/ui/source/single_container.cpp +++ b/libs/ui/source/single_container.cpp @@ -15,4 +15,9 @@ namespace psemek::ui return old; } + single_container::~single_container() + { + release_children(); + } + }