From 0263f0a3fa0760afae94909700f8f6c52ec7c750 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Tue, 18 Nov 2025 18:20:14 +0800 Subject: Fix SetImmediate on osx. --- src/platform/gui/osx/UiApplication.mm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/platform/gui/osx/UiApplication.mm b/src/platform/gui/osx/UiApplication.mm index 6fef9b4e..864fdcd4 100644 --- a/src/platform/gui/osx/UiApplication.mm +++ b/src/platform/gui/osx/UiApplication.mm @@ -106,10 +106,11 @@ long long OsxUiApplication::SetImmediate(std::function action) { p_->next_tick_.emplace_back(id, std::move(action)); [[NSRunLoop mainRunLoop] performBlock:^{ - for (const auto& [_, action] : p_->next_tick_) { + decltype(p_->next_tick_) copy; + p_->next_tick_.swap(copy); + for (const auto& [_, action] : copy) { action(); } - p_->next_tick_.clear(); }]; return id; -- cgit v1.2.3