From 46429c5074b05447f8934dd25bd26fcce5e46dec Mon Sep 17 00:00:00 2001
From: Salman Ahmed <frenzibyte@gmail.com>
Date: Wed, 17 Jan 2024 08:10:37 +0300
Subject: [PATCH] Schedule control point switch for settings modifications to
 apply first

---
 osu.Game/Screens/Edit/Timing/ControlPointTable.cs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/osu.Game/Screens/Edit/Timing/ControlPointTable.cs b/osu.Game/Screens/Edit/Timing/ControlPointTable.cs
index 7a27056da3..219575a380 100644
--- a/osu.Game/Screens/Edit/Timing/ControlPointTable.cs
+++ b/osu.Game/Screens/Edit/Timing/ControlPointTable.cs
@@ -44,11 +44,12 @@ namespace osu.Game.Screens.Edit.Timing
                 {
                     BackgroundFlow.Add(new RowBackground(group)
                     {
-                        Action = () =>
+                        // schedule to give time for any modified focused text box to lose focus and commit changes (e.g. BPM / time signature textboxes) before switching to new point.
+                        Action = () => Schedule(() =>
                         {
                             SetSelectedRow(group);
                             clock.SeekSmoothlyTo(group.Time);
-                        }
+                        })
                     });
                 }