diff --git a/components/lua_ui/element.cpp b/components/lua_ui/element.cpp index 273730c962..2cb5a35973 100644 --- a/components/lua_ui/element.cpp +++ b/components/lua_ui/element.cpp @@ -217,12 +217,13 @@ namespace LuaUi void Element::destroy() { + if (mRoot) + { + destroyWidget(mRoot); + mRoot = nullptr; + mLayout = sol::make_object(mLayout.lua_state(), sol::nil); + } sAllElements.erase(this); - if (!mRoot) - return; - destroyWidget(mRoot); - mRoot = nullptr; - mLayout = sol::make_object(mLayout.lua_state(), sol::nil); } void Element::attachToWidget(WidgetExtension* w)