diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs index 16c7c843..b26d16f1 100644 --- a/Bloxstrap/Bootstrapper.cs +++ b/Bloxstrap/Bootstrapper.cs @@ -328,18 +328,25 @@ private void StartRoblox() return; } - using var startEvent = new EventWaitHandle(false, EventResetMode.ManualReset, AppData.StartEvent); - - // v2.2.0 - byfron will trip if we keep a process handle open for over a minute, so we're doing this now int gameClientPid; - using (var gameClient = Process.Start(startInfo)!) + bool startEventSignalled; + + using (var startEvent = new EventWaitHandle(false, EventResetMode.ManualReset, AppData.StartEvent)) { - gameClientPid = gameClient.Id; - } + startEvent.Reset(); + + // v2.2.0 - byfron will trip if we keep a process handle open for over a minute, so we're doing this now + using (var process = Process.Start(startInfo)!) + { + gameClientPid = process.Id; + } - App.Logger.WriteLine(LOG_IDENT, $"Started Roblox (PID {gameClientPid}), waiting for start event"); + App.Logger.WriteLine(LOG_IDENT, $"Started Roblox (PID {gameClientPid}), waiting for start event"); + + startEventSignalled = startEvent.WaitOne(TimeSpan.FromSeconds(10)); + } - if (!startEvent.WaitOne(TimeSpan.FromSeconds(10))) + if (!startEventSignalled) { Frontend.ShowPlayerErrorDialog(); return; diff --git a/Bloxstrap/UI/Elements/Dialogs/LaunchMenuDialog.xaml b/Bloxstrap/UI/Elements/Dialogs/LaunchMenuDialog.xaml index ea141759..04e89852 100644 --- a/Bloxstrap/UI/Elements/Dialogs/LaunchMenuDialog.xaml +++ b/Bloxstrap/UI/Elements/Dialogs/LaunchMenuDialog.xaml @@ -24,7 +24,7 @@ - +