Browse Source

Observe potential DBus exception in UnregisterWindowAsync (#21344)

* Fix https://github.com/AvaloniaUI/Avalonia/issues/17616

* use parameters while logging

Co-authored-by: Julien Lebosquain <julien@lebosquain.net>

* remove unnecessary try-catch

---------

Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
pull/21371/head
holdxen 2 weeks ago
committed by GitHub
parent
commit
926d15d85e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      src/Avalonia.FreeDesktop/DBusMenuExporter.cs

10
src/Avalonia.FreeDesktop/DBusMenuExporter.cs

@ -10,6 +10,7 @@ using Avalonia.Controls.Platform;
using Avalonia.Input;
using Avalonia.Platform;
using Avalonia.Threading;
using Avalonia.Logging;
using Tmds.DBus.Protocol;
using Tmds.DBus.SourceGenerator;
@ -129,7 +130,14 @@ namespace Avalonia.FreeDesktop
return;
_disposed = true;
// Fire and forget
_ = _registrar?.UnregisterWindowAsync(_xid);
_ = _registrar?.UnregisterWindowAsync(_xid)?.ContinueWith(t =>
{
if (t.Exception != null)
{
Logger.TryGet(LogEventLevel.Warning, LogArea.Platform)
?.Log(this, "DBusMenu UnregisterWindowAsync failed: {Exception}", t.Exception);
}
}, TaskContinuationOptions.OnlyOnFaulted);
_pathHandler.Remove(this);
Connection.RemoveMethodHandler(_pathHandler.Path);
}

Loading…
Cancel
Save