diff --git a/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs b/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs
index a24130d6ac..ab3b729307 100644
--- a/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs
+++ b/osu.Game.Rulesets.Taiko/Edit/TaikoSelectionHandler.cs
@@ -69,7 +69,11 @@ namespace osu.Game.Rulesets.Taiko.Edit
{
EditorBeatmap.PerformOnSelection(h =>
{
- if (h is Hit taikoHit) taikoHit.Type = state ? HitType.Rim : HitType.Centre;
+ if (h is Hit taikoHit)
+ {
+ taikoHit.Type = state ? HitType.Rim : HitType.Centre;
+ EditorBeatmap.Update(h);
+ }
});
}
diff --git a/osu.Game/Screens/Edit/Compose/Components/EditorBlueprintContainer.cs b/osu.Game/Screens/Edit/Compose/Components/EditorBlueprintContainer.cs
index 5a6f98f504..22b211f257 100644
--- a/osu.Game/Screens/Edit/Compose/Components/EditorBlueprintContainer.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/EditorBlueprintContainer.cs
@@ -77,7 +77,13 @@ namespace osu.Game.Screens.Edit.Compose.Components
double offset = result.Time.Value - blueprints.First().Item.StartTime;
if (offset != 0)
- Beatmap.PerformOnSelection(obj => obj.StartTime += offset);
+ {
+ Beatmap.PerformOnSelection(obj =>
+ {
+ obj.StartTime += offset;
+ Beatmap.Update(obj);
+ });
+ }
}
return true;
diff --git a/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs b/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs
index 2141c490df..246d4aa8d7 100644
--- a/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/EditorSelectionHandler.cs
@@ -125,6 +125,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
return;
h.Samples.Add(new HitSampleInfo(sampleName));
+ EditorBeatmap.Update(h);
});
}
@@ -134,7 +135,11 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The name of the hit sample.
public void RemoveHitSample(string sampleName)
{
- EditorBeatmap.PerformOnSelection(h => h.SamplesBindable.RemoveAll(s => s.Name == sampleName));
+ EditorBeatmap.PerformOnSelection(h =>
+ {
+ h.SamplesBindable.RemoveAll(s => s.Name == sampleName);
+ EditorBeatmap.Update(h);
+ });
}
///
diff --git a/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineBlueprintContainer.cs b/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineBlueprintContainer.cs
index 7c1bbd65f9..6f04f36b83 100644
--- a/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineBlueprintContainer.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/Timeline/TimelineBlueprintContainer.cs
@@ -276,7 +276,11 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
var timingPoint = EditorBeatmap.ControlPointInfo.TimingPointAt(selected.First().StartTime);
double adjustment = timingPoint.BeatLength / EditorBeatmap.BeatDivisor * amount;
- EditorBeatmap.PerformOnSelection(h => h.StartTime += adjustment);
+ EditorBeatmap.PerformOnSelection(h =>
+ {
+ h.StartTime += adjustment;
+ EditorBeatmap.Update(h);
+ });
}
}