free resources on app destruction
This commit is contained in:
11
src/node.cpp
11
src/node.cpp
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user