From 2230e71093a110d959c245b639faf67a60dca135 Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Thu, 6 Feb 2025 10:56:10 +0100 Subject: [PATCH] ios: fix timers Fixes #4074. Fixes #3816. --- src/changelog/unreleased.md | 1 + src/platform_impl/apple/uikit/app_state.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/changelog/unreleased.md b/src/changelog/unreleased.md index 91860cc432..ea78270b8a 100644 --- a/src/changelog/unreleased.md +++ b/src/changelog/unreleased.md @@ -228,3 +228,4 @@ changelog entry. - On Windows, fixed the event loop not waking on accessibility requests. - On X11, fixed cursor grab mode state tracking on error. - On X11, fixed crash with uim +- On iOS, maybe fixed high CPU usage even when using `ControlFlow::Wait`. diff --git a/src/platform_impl/apple/uikit/app_state.rs b/src/platform_impl/apple/uikit/app_state.rs index 372a678c3e..afaca969e8 100644 --- a/src/platform_impl/apple/uikit/app_state.rs +++ b/src/platform_impl/apple/uikit/app_state.rs @@ -239,6 +239,7 @@ impl AppState { (ControlFlow::Wait, ControlFlow::Wait) => { let start = Instant::now(); self.set_state(AppStateImpl::Waiting { start }); + self.waker.stop() }, (ControlFlow::WaitUntil(old_instant), ControlFlow::WaitUntil(new_instant)) if old_instant == new_instant =>