diff --git a/osu.Android.props b/osu.Android.props
index eeca40e73d..5a0e7479fa 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -52,7 +52,7 @@
-
+
diff --git a/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs b/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs
index d1c23f1442..4cc71717ff 100644
--- a/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs
+++ b/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs
@@ -909,7 +909,7 @@ namespace osu.Game.Tests.Beatmaps.IO
var manager = osu.Dependencies.Get();
- var importedSet = await manager.Import(new ImportTask(temp));
+ var importedSet = await manager.Import(new ImportTask(temp)).ConfigureAwait(false);
ensureLoaded(osu);
@@ -924,7 +924,7 @@ namespace osu.Game.Tests.Beatmaps.IO
var manager = osu.Dependencies.Get();
- var importedSet = await manager.Import(new ImportTask(temp));
+ var importedSet = await manager.Import(new ImportTask(temp)).ConfigureAwait(false);
ensureLoaded(osu);
diff --git a/osu.Game.Tests/Visual/Navigation/TestSceneOsuGame.cs b/osu.Game.Tests/Visual/Navigation/TestSceneOsuGame.cs
index e2baa82ba0..7327d4053a 100644
--- a/osu.Game.Tests/Visual/Navigation/TestSceneOsuGame.cs
+++ b/osu.Game.Tests/Visual/Navigation/TestSceneOsuGame.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using NUnit.Framework;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
+using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Textures;
@@ -123,6 +124,13 @@ namespace osu.Game.Tests.Visual.Navigation
AddAssert("ruleset unchanged", () => ReferenceEquals(Ruleset.Value, ruleset));
}
+ [Test]
+ public void TestSwitchThreadExecutionMode()
+ {
+ AddStep("Change thread mode to multi threaded", () => { game.Dependencies.Get().SetValue(FrameworkSetting.ExecutionMode, ExecutionMode.MultiThreaded); });
+ AddStep("Change thread mode to single thread", () => { game.Dependencies.Get().SetValue(FrameworkSetting.ExecutionMode, ExecutionMode.SingleThread); });
+ }
+
[Test]
public void TestUnavailableRulesetHandled()
{
diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs
index aec06e18f6..7f4fe8a943 100644
--- a/osu.Game/OsuGameBase.cs
+++ b/osu.Game/OsuGameBase.cs
@@ -13,24 +13,23 @@ using osu.Framework.Development;
using osu.Framework.Extensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
-using osu.Framework.IO.Stores;
-using osu.Framework.Platform;
-using osu.Game.Beatmaps;
-using osu.Game.Configuration;
-using osu.Game.Graphics;
-using osu.Game.Graphics.Cursor;
-using osu.Game.Online.API;
using osu.Framework.Graphics.Performance;
using osu.Framework.Graphics.Textures;
using osu.Framework.Input;
+using osu.Framework.IO.Stores;
using osu.Framework.Logging;
-using osu.Framework.Threading;
+using osu.Framework.Platform;
using osu.Game.Audio;
+using osu.Game.Beatmaps;
+using osu.Game.Configuration;
using osu.Game.Database;
+using osu.Game.Graphics;
+using osu.Game.Graphics.Cursor;
using osu.Game.Input;
using osu.Game.Input.Bindings;
using osu.Game.IO;
using osu.Game.Online;
+using osu.Game.Online.API;
using osu.Game.Online.Chat;
using osu.Game.Online.Multiplayer;
using osu.Game.Online.Spectator;
@@ -160,8 +159,6 @@ namespace osu.Game
private readonly BindableNumber globalTrackVolumeAdjust = new BindableNumber(GLOBAL_TRACK_VOLUME_ADJUST);
- private IBindable updateThreadState;
-
public OsuGameBase()
{
UseDevelopmentServer = DebugUtils.IsDebugBuild;
@@ -189,9 +186,6 @@ namespace osu.Game
dependencies.Cache(realmFactory = new RealmContextFactory(Storage, "client"));
- updateThreadState = Host.UpdateThread.State.GetBoundCopy();
- updateThreadState.BindValueChanged(updateThreadStateChanged);
-
AddInternal(realmFactory);
dependencies.CacheAs(Storage);
@@ -372,23 +366,6 @@ namespace osu.Game
AddFont(Resources, @"Fonts/Venera/Venera-Black");
}
- private IDisposable blocking;
-
- private void updateThreadStateChanged(ValueChangedEvent state)
- {
- switch (state.NewValue)
- {
- case GameThreadState.Running:
- blocking?.Dispose();
- blocking = null;
- break;
-
- case GameThreadState.Paused:
- blocking = realmFactory.BlockAllOperations();
- break;
- }
- }
-
protected override void LoadComplete()
{
base.LoadComplete();
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 33d4e5a6c8..4877ddf725 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -36,7 +36,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index e30722c334..edce9d27fe 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -70,7 +70,7 @@
-
+
@@ -93,7 +93,7 @@
-
+