From e1cbeb0d3b9626f308a5559a51f02871e9d32a7d Mon Sep 17 00:00:00 2001 From: uramer Date: Sun, 20 Aug 2023 16:02:38 +0200 Subject: [PATCH] Don't free ui element's shared_ptr right before destroying it --- components/lua_ui/element.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/components/lua_ui/element.cpp b/components/lua_ui/element.cpp index bd76ba3207..4fe9349b9e 100644 --- a/components/lua_ui/element.cpp +++ b/components/lua_ui/element.cpp @@ -216,12 +216,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)