From 09a2b287f9a227aa07b89463ac8c9948af6f9660 Mon Sep 17 00:00:00 2001 From: chrisny286 <christian.kamphausen@freenet.de> Date: Tue, 22 Jan 2019 18:29:30 +0100 Subject: [PATCH 1/5] Fix Tooltip not updating in special case When the Bindvalue of the Sliderbar gets changed by a line like "Bindable.Value = ..." the sliderbar will only update the nubs but wont run any methods which contain the updateToolTipText(T value) function. Example scenario: Two interlinked sliderbars which change the value of each other in certain cases. --- osu.Game/Graphics/UserInterface/OsuSliderBar.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs index e0f38a13d0..23766e22a1 100644 --- a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs +++ b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs @@ -96,6 +96,7 @@ namespace osu.Game.Graphics.UserInterface { updateTooltipText(Current.Value); base.LoadComplete(); + CurrentNumber.ValueChanged += _ => updateTooltipText(_); } protected override bool OnHover(HoverEvent e) @@ -126,7 +127,6 @@ namespace osu.Game.Graphics.UserInterface { base.OnUserChange(value); playSample(value); - updateTooltipText(value); } private void playSample(T value) From 3f96231b2f65fa700bb33c7363f7897fb294ee66 Mon Sep 17 00:00:00 2001 From: chrisny286 <christian.kamphausen@freenet.de> Date: Tue, 22 Jan 2019 19:34:26 +0100 Subject: [PATCH 2/5] convert to method group --- osu.Game/Graphics/UserInterface/OsuSliderBar.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs index 23766e22a1..84e1882dea 100644 --- a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs +++ b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs @@ -96,7 +96,7 @@ namespace osu.Game.Graphics.UserInterface { updateTooltipText(Current.Value); base.LoadComplete(); - CurrentNumber.ValueChanged += _ => updateTooltipText(_); + CurrentNumber.ValueChanged += updateTooltipText; } protected override bool OnHover(HoverEvent e) From 47181cf5d76c42904e7eb01653b960e36d57e94e Mon Sep 17 00:00:00 2001 From: chrisny286 <christian.kamphausen@freenet.de> Date: Wed, 23 Jan 2019 03:21:09 +0100 Subject: [PATCH 3/5] add back update in onUserChange --- osu.Game/Graphics/UserInterface/OsuSliderBar.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs index 84e1882dea..294d7da40f 100644 --- a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs +++ b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs @@ -127,6 +127,7 @@ namespace osu.Game.Graphics.UserInterface { base.OnUserChange(value); playSample(value); + updateTooltipText(value); } private void playSample(T value) From fe5d34a6573895d70184fa96079eddbfa2508e61 Mon Sep 17 00:00:00 2001 From: chrisny286 <christian.kamphausen@freenet.de> Date: Wed, 23 Jan 2019 03:25:56 +0100 Subject: [PATCH 4/5] replace as requested --- osu.Game/Graphics/UserInterface/OsuSliderBar.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs index 294d7da40f..9db7af48b2 100644 --- a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs +++ b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs @@ -96,7 +96,7 @@ namespace osu.Game.Graphics.UserInterface { updateTooltipText(Current.Value); base.LoadComplete(); - CurrentNumber.ValueChanged += updateTooltipText; + CurrentNumber.BindValueChanged(updateTooltipText, true); } protected override bool OnHover(HoverEvent e) From 260011fc13a4066584ca834e1a994905aa4bae22 Mon Sep 17 00:00:00 2001 From: chrisny286 <christian.kamphausen@freenet.de> Date: Wed, 23 Jan 2019 04:05:03 +0100 Subject: [PATCH 5/5] remove manual update misunderstood that earlier --- osu.Game/Graphics/UserInterface/OsuSliderBar.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs index 9db7af48b2..26a5c11d5d 100644 --- a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs +++ b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs @@ -94,7 +94,6 @@ namespace osu.Game.Graphics.UserInterface protected override void LoadComplete() { - updateTooltipText(Current.Value); base.LoadComplete(); CurrentNumber.BindValueChanged(updateTooltipText, true); }