From b68f9f52a3ecdd8e379dd60ac1c1366e76695464 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 16 Nov 2025 17:48:39 +0800 Subject: Fix delete later related things. --- src/ui/components/Component.cpp | 10 ++++++++++ src/ui/components/Menu.cpp | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/ui/components') diff --git a/src/ui/components/Component.cpp b/src/ui/components/Component.cpp index 01db8710..d0525a1c 100644 --- a/src/ui/components/Component.cpp +++ b/src/ui/components/Component.cpp @@ -4,4 +4,14 @@ namespace cru::ui::components { void Component::OnPrepareDelete() { GetRootControl()->RemoveFromParent(); } + +void Component::DeleteIfDeleteByParent(bool delete_later) { + if (delete_by_parent_) { + if (delete_later) { + DeleteLater(); + } else { + delete this; + } + } +} } // namespace cru::ui::components diff --git a/src/ui/components/Menu.cpp b/src/ui/components/Menu.cpp index 65c1e810..04227d66 100644 --- a/src/ui/components/Menu.cpp +++ b/src/ui/components/Menu.cpp @@ -33,7 +33,7 @@ Menu::Menu() { Menu::~Menu() { for (auto item : items_) { - delete item; + item->DeleteIfDeleteByParent(false); } } -- cgit v1.2.3