aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-18 18:20:14 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-18 18:20:14 +0800
commit0263f0a3fa0760afae94909700f8f6c52ec7c750 (patch)
treeb93f9dfe27f885efdc8cd117c3bae8bcf5245829
parent73c55a65fc2d3200adab6a48ffc28c66bbf9159b (diff)
downloadcru-0263f0a3fa0760afae94909700f8f6c52ec7c750.tar.gz
cru-0263f0a3fa0760afae94909700f8f6c52ec7c750.tar.bz2
cru-0263f0a3fa0760afae94909700f8f6c52ec7c750.zip
Fix SetImmediate on osx.
-rw-r--r--src/platform/gui/osx/UiApplication.mm5
1 files changed, 3 insertions, 2 deletions
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<void()> 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;