diff --git a/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs b/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs
index eebf6980fe..40565048c2 100644
--- a/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs
+++ b/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs
@@ -22,6 +22,8 @@ namespace osu.Game.Rulesets.Taiko.Edit
yield return new TernaryStateMenuItem("Rim", action: state =>
{
+ ChangeHandler.BeginChange();
+
foreach (var h in hits)
{
switch (state)
@@ -35,6 +37,8 @@ namespace osu.Game.Rulesets.Taiko.Edit
break;
}
}
+
+ ChangeHandler.EndChange();
})
{
State = { Value = getTernaryState(hits, h => h.Type == HitType.Rim) }
@@ -47,6 +51,8 @@ namespace osu.Game.Rulesets.Taiko.Edit
yield return new TernaryStateMenuItem("Strong", action: state =>
{
+ ChangeHandler.BeginChange();
+
foreach (var h in hits)
{
switch (state)
@@ -62,6 +68,8 @@ namespace osu.Game.Rulesets.Taiko.Edit
EditorBeatmap?.UpdateHitObject(h);
}
+
+ ChangeHandler.EndChange();
})
{
State = { Value = getTernaryState(hits, h => h.IsStrong) }
diff --git a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
index e85dbee6d9..6e2c8bd01c 100644
--- a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
@@ -45,7 +45,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
protected EditorBeatmap EditorBeatmap { get; private set; }
[Resolved(CanBeNull = true)]
- private IEditorChangeHandler changeHandler { get; set; }
+ protected IEditorChangeHandler ChangeHandler { get; private set; }
public SelectionHandler()
{
@@ -194,12 +194,12 @@ namespace osu.Game.Screens.Edit.Compose.Components
private void deleteSelected()
{
- changeHandler?.BeginChange();
+ ChangeHandler?.BeginChange();
foreach (var h in selectedBlueprints.ToList())
EditorBeatmap?.Remove(h.HitObject);
- changeHandler?.EndChange();
+ ChangeHandler?.EndChange();
}
#endregion
@@ -255,7 +255,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The name of the hit sample.
public void AddHitSample(string sampleName)
{
- changeHandler?.BeginChange();
+ ChangeHandler?.BeginChange();
foreach (var h in SelectedHitObjects)
{
@@ -266,7 +266,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
h.Samples.Add(new HitSampleInfo { Name = sampleName });
}
- changeHandler?.EndChange();
+ ChangeHandler?.EndChange();
}
///
@@ -276,7 +276,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// Throws if any selected object doesn't implement
public void SetNewCombo(bool state)
{
- changeHandler?.BeginChange();
+ ChangeHandler?.BeginChange();
foreach (var h in SelectedHitObjects)
{
@@ -289,7 +289,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
EditorBeatmap?.UpdateHitObject(h);
}
- changeHandler?.EndChange();
+ ChangeHandler?.EndChange();
}
///
@@ -298,12 +298,12 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The name of the hit sample.
public void RemoveHitSample(string sampleName)
{
- changeHandler?.BeginChange();
+ ChangeHandler?.BeginChange();
foreach (var h in SelectedHitObjects)
h.SamplesBindable.RemoveAll(s => s.Name == sampleName);
- changeHandler?.EndChange();
+ ChangeHandler?.EndChange();
}
#endregion