Detach elements from child before destroying it

This commit is contained in:
Evil Eye 2025-12-09 15:41:02 +01:00
parent cd4901245e
commit b32b98d9f5
1 changed files with 11 additions and 8 deletions

View File

@ -49,14 +49,6 @@ namespace LuaUi
MyGUI::Gui::getInstancePtr()->destroyWidget(ext->widget()); MyGUI::Gui::getInstancePtr()->destroyWidget(ext->widget());
} }
void destroyChild(WidgetExtension* ext)
{
if (!ext->isRoot())
destroyWidget(ext);
else
ext->detachFromParent();
}
void detachElements(WidgetExtension* ext) void detachElements(WidgetExtension* ext)
{ {
auto predicate = [](WidgetExtension* child) { auto predicate = [](WidgetExtension* child) {
@ -69,6 +61,17 @@ namespace LuaUi
ext->detachTemplateChildrenIf(predicate); ext->detachTemplateChildrenIf(predicate);
} }
void destroyChild(WidgetExtension* ext)
{
if (!ext->isRoot())
{
detachElements(ext);
destroyWidget(ext);
}
else
ext->detachFromParent();
}
void destroyRoot(WidgetExtension* ext) void destroyRoot(WidgetExtension* ext)
{ {
detachElements(ext); detachElements(ext);