diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-11-18 18:20:14 +0800 |
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-11-18 18:20:14 +0800 |
| commit | 0263f0a3fa0760afae94909700f8f6c52ec7c750 (patch) | |
| tree | b93f9dfe27f885efdc8cd117c3bae8bcf5245829 /src | |
| parent | 73c55a65fc2d3200adab6a48ffc28c66bbf9159b (diff) | |
| download | cru-0263f0a3fa0760afae94909700f8f6c52ec7c750.tar.gz cru-0263f0a3fa0760afae94909700f8f6c52ec7c750.tar.bz2 cru-0263f0a3fa0760afae94909700f8f6c52ec7c750.zip | |
Fix SetImmediate on osx.
Diffstat (limited to 'src')
| -rw-r--r-- | src/platform/gui/osx/UiApplication.mm | 5 |
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; |
