From 93c9037394e922ee392058f465e98bb49b6be2a6 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 23 Jan 2019 13:09:03 +0100 Subject: [PATCH 1/2] fix crash when config doesn't have tracked settings --- osu.Game/Overlays/OnScreenDisplay.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/osu.Game/Overlays/OnScreenDisplay.cs b/osu.Game/Overlays/OnScreenDisplay.cs index 9cf42c3a29..d78bd744f4 100644 --- a/osu.Game/Overlays/OnScreenDisplay.cs +++ b/osu.Game/Overlays/OnScreenDisplay.cs @@ -160,6 +160,10 @@ public void StopTracking(object source, ITrackableConfigManager configManager) { if (configManager == null) throw new ArgumentNullException(nameof(configManager)); + var trackedSettings = configManager.CreateTrackedSettings(); + if (trackedSettings == null) + return; + if (!trackedConfigManagers.TryGetValue((source, configManager), out var existing)) throw new InvalidOperationException($"{nameof(configManager)} is not registered."); From 2bbaa2ac60b90e811a3c0cac87b4d8e2b4d0b198 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 24 Jan 2019 16:02:47 +0100 Subject: [PATCH 2/2] silently return instead of throwing --- osu.Game/Overlays/OnScreenDisplay.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/osu.Game/Overlays/OnScreenDisplay.cs b/osu.Game/Overlays/OnScreenDisplay.cs index d78bd744f4..7e64d09a65 100644 --- a/osu.Game/Overlays/OnScreenDisplay.cs +++ b/osu.Game/Overlays/OnScreenDisplay.cs @@ -160,12 +160,8 @@ public void StopTracking(object source, ITrackableConfigManager configManager) { if (configManager == null) throw new ArgumentNullException(nameof(configManager)); - var trackedSettings = configManager.CreateTrackedSettings(); - if (trackedSettings == null) - return; - if (!trackedConfigManagers.TryGetValue((source, configManager), out var existing)) - throw new InvalidOperationException($"{nameof(configManager)} is not registered."); + return; existing.Unload(); existing.SettingChanged -= display;