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,8 +102,19 @@ namespace Torch.Server
} }
#endif #endif
var gameThread = new Thread(() => var uiThread = new Thread(() =>
{ {
var ui = new TorchUI(_server);
SynchronizationContext.SetSynchronizationContext(
new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher));
ui.ShowDialog();
});
uiThread.SetApartmentState(ApartmentState.STA);
uiThread.Start();
_server.Init(); _server.Init();
if (Config.Autostart || Config.TempAutostart) if (Config.Autostart || Config.TempAutostart)
@@ -111,16 +122,6 @@ namespace Torch.Server
Config.TempAutostart = false; Config.TempAutostart = false;
_server.Start(); _server.Start();
} }
});
gameThread.Start();
var ui = new TorchUI(_server);
SynchronizationContext.SetSynchronizationContext(
new DispatcherSynchronizationContext(Dispatcher.CurrentDispatcher));
ui.ShowDialog();
} }
} }

View File

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