diff options
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; |
