void UIWidget::internalDestroy() { m_destroyed = true; m_visible = false; m_enabled = false; m_parent.reset(); m_focusedChild = nullptr; m_layout = nullptr; m_lockedChildren.clear(); for(const UIWidgetPtr& child : m_children) child->internalDestroy(); m_children.clear(); callLuaField("onDestroy"); releaseLuaFieldsTable(); g_ui.onWidgetDestroy(asUIWidget()); }
void UIWidget::internalDestroy() { m_destroyed = true; m_visible = false; m_enabled = false; m_focusedChild = nullptr; if(m_layout) { m_layout->setParent(nullptr); m_layout = nullptr; } m_parent = nullptr; m_lockedChildren.clear(); for(const UIWidgetPtr& child : m_children) child->internalDestroy(); m_children.clear(); callLuaField("onDestroy"); releaseLuaFieldsTable(); g_ui.onWidgetDestroy(static_self_cast<UIWidget>()); }