Make ui::single_container release children on destroy
This commit is contained in:
parent
e568ecf14c
commit
11b904c890
6 changed files with 7 additions and 14 deletions
|
|
@ -15,8 +15,6 @@ namespace psemek::ui
|
|||
virtual std::optional<geom::vector<float, 2>> min_size() const { return min_size_; }
|
||||
virtual std::optional<geom::vector<float, 2>> max_size() const { return max_size_; }
|
||||
|
||||
~frame() override;
|
||||
|
||||
private:
|
||||
std::optional<geom::vector<float, 2>> min_size_;
|
||||
std::optional<geom::vector<float, 2>> max_size_;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace psemek::ui
|
|||
virtual std::shared_ptr<element> set_child(std::shared_ptr<element> c);
|
||||
virtual std::shared_ptr<element> child() { return child_; }
|
||||
|
||||
~single_container() override;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<element> child_;
|
||||
element * children_[1]{nullptr};
|
||||
|
|
|
|||
|
|
@ -22,9 +22,4 @@ namespace psemek::ui
|
|||
post_reshape();
|
||||
}
|
||||
|
||||
frame::~frame()
|
||||
{
|
||||
release_children();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -291,11 +291,6 @@ namespace psemek::ui
|
|||
p.end_stencil();
|
||||
}
|
||||
|
||||
scroller::~scroller()
|
||||
{
|
||||
release_children();
|
||||
}
|
||||
|
||||
float scroller::width() const
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -15,4 +15,9 @@ namespace psemek::ui
|
|||
return old;
|
||||
}
|
||||
|
||||
single_container::~single_container()
|
||||
{
|
||||
release_children();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue