free resources on app destruction

This commit is contained in:
2019-02-24 12:31:53 +01:00
parent 420e0a8c2a
commit 3d1412aee2
13 changed files with 66 additions and 6 deletions

View File

@@ -72,6 +72,12 @@ void Node::destroy()
key_release();
}
void Node::destroy_immediate()
{
for (auto c : m_children)
c->destroy_immediate();
}
Node* Node::root()
{
@@ -485,7 +491,7 @@ Node::Node(Node&& o)
m_flood_events = o.m_flood_events;
m_force_mouse_capture = o.m_force_mouse_capture;
m_capture_children = o.m_capture_children;
m_destroyed = o.m_destroyed;
m_destroyed = false;// o.m_destroyed;
m_scale = o.m_scale;
m_pos_origin = o.m_pos_origin;
@@ -767,6 +773,7 @@ void Node::update_internal(const glm::vec2& origin, const glm::mat4& proj)
{
if (m_children[i]->m_destroyed)
{
m_children[i]->destroy_immediate();
remove_child(m_children[i].get());
i--;
}
@@ -1118,7 +1125,7 @@ void Node::clone_copy(Node* dest) const
dest->m_mvp = m_mvp;
dest->m_mouse_inside = m_mouse_inside;
dest->m_capture_children = m_capture_children;
dest->m_destroyed = m_destroyed;
dest->m_destroyed = false;// m_destroyed;
dest->m_scale = m_scale;
dest->m_pos_origin = m_pos_origin;
dest->m_pos_offset = m_pos_offset;