From 2eb34dfc3dd3ca718da6ebf049886b4ae140b332 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Wed, 19 Nov 2025 02:59:30 +0800 Subject: Remove all children when control destroyed. --- src/ui/components/Menu.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ui/components/Menu.cpp') diff --git a/src/ui/components/Menu.cpp b/src/ui/components/Menu.cpp index 380da911..c6be942a 100644 --- a/src/ui/components/Menu.cpp +++ b/src/ui/components/Menu.cpp @@ -78,14 +78,14 @@ void Menu::AddTextItemAt(std::string text, Index index, PopupMenu::PopupMenu(controls::Control* attached_control) : attached_control_(attached_control) { menu_.SetOnItemClick([this](Index) { popup_->GetNativeWindow()->Close(); }); - popup_ = controls::Window::CreatePopup(); + popup_.reset(controls::Window::CreatePopup()); popup_->SetAttachedControl(attached_control); popup_->InsertChildAt(menu_.GetRootControl(), 0); } -PopupMenu::~PopupMenu() { delete popup_; } +PopupMenu::~PopupMenu() {} -controls::Control* PopupMenu::GetRootControl() { return popup_; } +controls::Control* PopupMenu::GetRootControl() { return popup_.get(); } void PopupMenu::SetPosition(const Point& position) { auto window = popup_->GetNativeWindow(); -- cgit v1.2.3