diff --git a/.idea/.idea.Blacklight/.idea/avalonia.xml b/.idea/.idea.Blacklight/.idea/avalonia.xml index 2afc772b111054658be9d20a1b66a0b0e812d0d9..b0754ad44a5dd0c71ed0944bcf58a386255a172b 100644 --- a/.idea/.idea.Blacklight/.idea/avalonia.xml +++ b/.idea/.idea.Blacklight/.idea/avalonia.xml @@ -24,6 +24,7 @@ <entry key="Blacklight/Views/Utility/MarkdownText.axaml" value="Blacklight.Desktop/Blacklight.Desktop.csproj" /> <entry key="Blacklight/Views/Views/ClientView.axaml" value="Blacklight/Blacklight.csproj" /> <entry key="Blacklight/Views/Views/SettingsView.axaml" value="Blacklight/Blacklight.csproj" /> + <entry key="Blacklight/Views/Windows/CreateChannelView.axaml" value="Blacklight.Desktop/Blacklight.Desktop.csproj" /> <entry key="Blacklight/Views/Windows/CreateChannelWindow.axaml" value="Blacklight.Desktop/Blacklight.Desktop.csproj" /> </map> </option> diff --git a/Blacklight.Desktop/Program.cs b/Blacklight.Desktop/Program.cs index 3dfca23b3953026b831cfc585e6ac23362ea258d..47254d036503f1d9b100efc73de30a8ebff140b4 100644 --- a/Blacklight.Desktop/Program.cs +++ b/Blacklight.Desktop/Program.cs @@ -6,14 +6,20 @@ namespace Blacklight.Desktop; sealed class Program { + private static Mutex _mutex = new Mutex(true, "{BFB1CB9E-78E6-4CC4-AB51-AD561BE8E21A}"); // Initialization code. Don't use any Avalonia, third-party APIs or any // SynchronizationContext-reliant code before AppMain is called: things aren't initialized // yet and stuff might break. [STAThread] public static void Main(string[] args) { - BuildAvaloniaApp() - .StartWithClassicDesktopLifetime(args); + if (_mutex.WaitOne(TimeSpan.Zero, true)) + { + + BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + _mutex.ReleaseMutex(); + } } // Avalonia configuration, don't remove; also used by visual designer.