Browse Source

TrayIcon fixes (#16111)

* Add private app init

* add todo

* update TrayIcon.cs

* add debugging message for now

* Reapply "Bump DBus stack (#15568)" (#15656)

This reverts commit e787bb4e64.

* update dbus stuff

* DBus init and usage fixes

* revert application class changes

* Revert "DBus init and usage fixes"

This reverts commit 833da084dc.

* dont dispose the thrown exception on DBusTrayIconImpl.cs

* Update src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs

Co-authored-by: Max Katz <maxkatz6@outlook.com>

---------

Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
Co-authored-by: Max Katz <maxkatz6@outlook.com>
pull/16134/head
Jumar Macato 2 years ago
committed by GitHub
parent
commit
eb14afe19a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      src/Avalonia.Controls/TrayIcon.cs
  2. 4
      src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs
  3. 27
      src/Browser/Avalonia.Browser/webapp/package-lock.json

10
src/Avalonia.Controls/TrayIcon.cs

@ -7,6 +7,7 @@ using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Controls.Platform;
using Avalonia.Platform;
using Avalonia.Reactive;
using Avalonia.Threading;
namespace Avalonia.Controls
{
@ -64,12 +65,7 @@ namespace Avalonia.Controls
}
});
var app = Application.Current ?? throw new InvalidOperationException("Application not yet initialized.");
if (app.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime lifetime)
{
lifetime.Exit += Lifetime_Exit;
}
Dispatcher.UIThread.ShutdownStarted += ShutdownStarted;
}
/// <summary>
@ -184,7 +180,7 @@ namespace Avalonia.Controls
internal ITrayIconImpl? Impl => _impl;
private static void Lifetime_Exit(object? sender, ControlledApplicationLifetimeExitEventArgs e)
private static void ShutdownStarted(object? sender, EventArgs? e)
{
var app = Application.Current ?? throw new InvalidOperationException("Application not yet initialized.");
var trayIcons = GetIcons(app);

4
src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs

@ -71,11 +71,11 @@ namespace Avalonia.FreeDesktop
var nameOwner = await _dBus.GetNameOwnerAsync("org.kde.StatusNotifierWatcher");
OnNameChange("org.kde.StatusNotifierWatcher", nameOwner);
}
catch
catch (Exception e)
{
_serviceWatchDisposable = null;
Logger.TryGet(LogEventLevel.Error, "DBUS")
?.Log(this, "Interface 'org.kde.StatusNotifierWatcher' is unavailable.");
?.Log(this, "Interface 'org.kde.StatusNotifierWatcher' is unavailable.\n{Exception}", e);
}
}

27
src/Browser/Avalonia.Browser/webapp/package-lock.json

@ -731,30 +731,6 @@
"integrity": "sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
"@esbuild/android-arm": "0.15.9",
"@esbuild/linux-loong64": "0.15.9",
"esbuild-android-64": "0.15.9",
"esbuild-android-arm64": "0.15.9",
"esbuild-darwin-64": "0.15.9",
"esbuild-darwin-arm64": "0.15.9",
"esbuild-freebsd-64": "0.15.9",
"esbuild-freebsd-arm64": "0.15.9",
"esbuild-linux-32": "0.15.9",
"esbuild-linux-64": "0.15.9",
"esbuild-linux-arm": "0.15.9",
"esbuild-linux-arm64": "0.15.9",
"esbuild-linux-mips64le": "0.15.9",
"esbuild-linux-ppc64le": "0.15.9",
"esbuild-linux-riscv64": "0.15.9",
"esbuild-linux-s390x": "0.15.9",
"esbuild-netbsd-64": "0.15.9",
"esbuild-openbsd-64": "0.15.9",
"esbuild-sunos-64": "0.15.9",
"esbuild-windows-32": "0.15.9",
"esbuild-windows-64": "0.15.9",
"esbuild-windows-arm64": "0.15.9"
},
"bin": {
"esbuild": "bin/esbuild"
},
@ -2353,9 +2329,6 @@
}
],
"license": "MIT",
"dependencies": {
"fetch-blob": "^3.2.0"
},
"engines": {
"node": ">=14.8.0"
},

Loading…
Cancel
Save