From f90444b6765afd03ddb947bd38bd3cb1a161a3f7 Mon Sep 17 00:00:00 2001 From: dif-sam <41672086+dif-sam@users.noreply.github.com> Date: Thu, 25 Sep 2025 17:15:11 +0400 Subject: [PATCH] Fixing a memory leak when closing a window (#19699) Added unsubscription from the X11Globals.WindowActivationTrackingModeChanged event in the Dispose method of the WindowActivationTrackingHelper class --- src/Avalonia.X11/ActivityTrackingHelper.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.X11/ActivityTrackingHelper.cs b/src/Avalonia.X11/ActivityTrackingHelper.cs index a3bfca5e90..846802d123 100644 --- a/src/Avalonia.X11/ActivityTrackingHelper.cs +++ b/src/Avalonia.X11/ActivityTrackingHelper.cs @@ -81,6 +81,7 @@ internal class WindowActivationTrackingHelper : IDisposable public void Dispose() { _platform.Globals.NetActiveWindowPropertyChanged -= OnNetActiveWindowChanged; + _platform.Globals.WindowActivationTrackingModeChanged -= OnWindowActivationTrackingModeChanged; } public void OnNetWmStateChanged(IntPtr[] atoms) @@ -88,4 +89,4 @@ internal class WindowActivationTrackingHelper : IDisposable if (Mode == X11Globals.WindowActivationTrackingMode._NET_WM_STATE_FOCUSED) SetActive(atoms.Contains(_platform.Info.Atoms._NET_WM_STATE_FOCUSED)); } -} \ No newline at end of file +}