diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-11-19 02:59:30 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-11-19 02:59:30 +0800 |
| commit | 2eb34dfc3dd3ca718da6ebf049886b4ae140b332 (patch) | |
| tree | c43dbca6e6898fd474ca9b976b4bf21b3419e512 /src/ui/components/Menu.cpp | |
| parent | df2dadbd0f0ace6e02281c84218537ec2ce5c47f (diff) | |
| download | cru-2eb34dfc3dd3ca718da6ebf049886b4ae140b332.tar.gz cru-2eb34dfc3dd3ca718da6ebf049886b4ae140b332.tar.bz2 cru-2eb34dfc3dd3ca718da6ebf049886b4ae140b332.zip | |
Remove all children when control destroyed.
Diffstat (limited to 'src/ui/components/Menu.cpp')
| -rw-r--r-- | src/ui/components/Menu.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
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(); |
