From 8f71d53c17c696a160a482d64a4f61e59635fda5 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 22 Mar 2018 02:10:31 +0900 Subject: [PATCH 1/4] Fix retry not allowing continuing beyond PlayerLoader Resolves #2265. --- osu.Game/Screens/Play/PlayerLoader.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/osu.Game/Screens/Play/PlayerLoader.cs b/osu.Game/Screens/Play/PlayerLoader.cs index 31e7313c0b..ca36689b76 100644 --- a/osu.Game/Screens/Play/PlayerLoader.cs +++ b/osu.Game/Screens/Play/PlayerLoader.cs @@ -149,6 +149,7 @@ namespace osu.Game.Screens.Play pushDebounce = Scheduler.AddDelayed(() => { + pushDebounce = null; contentOut(); this.Delay(250).Schedule(() => From 917334a39ab3a0eda594e5178470112450e403e2 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 22 Mar 2018 13:01:40 +0900 Subject: [PATCH 2/4] Move cancel code to exit paths for screen --- osu.Game/Screens/Play/PlayerLoader.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/osu.Game/Screens/Play/PlayerLoader.cs b/osu.Game/Screens/Play/PlayerLoader.cs index ca36689b76..89082cfbd5 100644 --- a/osu.Game/Screens/Play/PlayerLoader.cs +++ b/osu.Game/Screens/Play/PlayerLoader.cs @@ -139,8 +139,7 @@ namespace osu.Game.Screens.Play { // as the pushDebounce below has a delay, we need to keep checking and cancel a future debounce // if we become unready for push during the delay. - pushDebounce?.Cancel(); - pushDebounce = null; + cancelLoad(); return; } @@ -149,7 +148,6 @@ namespace osu.Game.Screens.Play pushDebounce = Scheduler.AddDelayed(() => { - pushDebounce = null; contentOut(); this.Delay(250).Schedule(() => @@ -173,10 +171,23 @@ namespace osu.Game.Screens.Play } } + private void cancelLoad() + { + pushDebounce?.Cancel(); + pushDebounce = null; + } + + protected override void OnSuspending(Screen next) + { + base.OnSuspending(next); + cancelLoad(); + } + protected override bool OnExiting(Screen next) { Content.ScaleTo(0.7f, 150, Easing.InQuint); this.FadeOut(150); + cancelLoad(); return base.OnExiting(next); } From e5f83530b8dab9e1c8b4caf67abdc88e9944df14 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 22 Mar 2018 19:49:31 +0900 Subject: [PATCH 3/4] Only allow settings or notifications to be visible at once Resolves #2273. --- osu.Game/OsuGame.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index e656c7256e..4a40a6b5df 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -302,6 +302,21 @@ namespace osu.Game }; } + var singleDisplaySideOverlays = new OverlayContainer[] { settings, notifications }; + foreach (var overlay in singleDisplaySideOverlays) + { + overlay.StateChanged += state => + { + if (state == Visibility.Hidden) return; + + foreach (var c in singleDisplaySideOverlays) + { + if (c == overlay) continue; + c.State = Visibility.Hidden; + } + }; + } + // eventually informational overlays should be displayed in a stack, but for now let's only allow one to stay open at a time. var informationalOverlays = new OverlayContainer[] { beatmapSetOverlay, userProfile }; foreach (var overlay in informationalOverlays) From 88ad3db0220de81229e95b23214a94b4ad138aa5 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 22 Mar 2018 20:00:57 +0900 Subject: [PATCH 4/4] Update framework --- osu-framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu-framework b/osu-framework index 241133f0a6..d8d4f55e10 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 241133f0a65326a563ba23b7166167a882d1d5cb +Subproject commit d8d4f55e10ac553223db75874bae6ae4894b739a