remove requirement o sta thread in no gui scenarios

This commit is contained in:
zznty
2023-04-22 02:51:29 +07:00
parent 181e9297a1
commit 45068ea932
2 changed files with 18 additions and 17 deletions

View File

@@ -102,25 +102,26 @@ namespace Torch.Server
}
#endif
var gameThread = new Thread(() =>
var uiThread = new Thread(() =>
{
_server.Init();
var ui = new TorchUI(_server);
if (Config.Autostart || Config.TempAutostart)
{
Config.TempAutostart = false;
_server.Start();
}
SynchronizationContext.SetSynchronizationContext(
new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher));
ui.ShowDialog();
});
gameThread.Start();
uiThread.SetApartmentState(ApartmentState.STA);
uiThread.Start();
var ui = new TorchUI(_server);
_server.Init();
SynchronizationContext.SetSynchronizationContext(
new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher));
ui.ShowDialog();
if (Config.Autostart || Config.TempAutostart)
{
Config.TempAutostart = false;
_server.Start();
}
}
}

View File

@@ -12,7 +12,7 @@ namespace Torch.Server
{
internal static class Program
{
[STAThread]
[MTAThread]
public static void Main(string[] args)
{
var configurationBuilder = new ConfigurationBuilder()