From faf73c4af74bdae1abf394a33b573149b98ec2b1 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 16 Nov 2025 12:14:47 +0800 Subject: Clean DeleteLater. --- src/ui/DeleteLater.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/ui/DeleteLater.cpp') diff --git a/src/ui/DeleteLater.cpp b/src/ui/DeleteLater.cpp index f8911ae1..499b9b34 100644 --- a/src/ui/DeleteLater.cpp +++ b/src/ui/DeleteLater.cpp @@ -4,10 +4,16 @@ #include "cru/platform/gui/UiApplication.h" namespace cru::ui { + +DeleteLaterImpl::DeleteLaterImpl() : delete_later_scheduled_(false) {} + DeleteLaterImpl::~DeleteLaterImpl() {} void DeleteLaterImpl::DeleteLater() { - GetUiApplication()->SetImmediate([this] { delete this; }); + if (!delete_later_scheduled_) { + GetUiApplication()->SetImmediate([this] { delete this; }); + delete_later_scheduled_ = true; + } } void DeleteLaterImpl::OnPrepareDelete() {} -- cgit v1.2.3