From 868b8df25cafe563ef77f04e5dbe0038b4775a6d Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Mon, 20 Apr 2026 17:09:01 +0500 Subject: [PATCH] Reset expected commit callback timing after waiting for app exiting idle (#21157) --- .../WinRT/Composition/WinUiCompositorConnection.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositorConnection.cs b/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositorConnection.cs index d4cdfcbe42..e98caae88c 100644 --- a/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositorConnection.cs +++ b/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositorConnection.cs @@ -127,7 +127,12 @@ internal class WinUiCompositorConnection : IRenderTimer, Win32.IWindowsSurfaceFa // Always schedule a commit so the current frame's work reaches DWM. ScheduleNextCommit(); if (_parent._stopped) + { _parent._wakeEvent.WaitOne(); + // Reset the expected commit callback time since we've paused + // the render loop due to app being idle + _commitDueAt = _st.Elapsed + TimeSpan.FromSeconds(1); + } } private void ScheduleNextCommit()