From 4b6ada72898980bd6e96793c511af2d58fe6736f Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Sun, 31 Dec 2023 13:10:20 +0200 Subject: [PATCH] Fix profiling hotkeys not working while profiler window is closed --- Source/Editor/Utilities/Utils.cs | 13 +++++++++++-- Source/Editor/Windows/Profiler/ProfilerWindow.cs | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs index 7184391d5..3d790ff81 100644 --- a/Source/Editor/Utilities/Utils.cs +++ b/Source/Editor/Utilities/Utils.cs @@ -1310,8 +1310,17 @@ namespace FlaxEditor.Utilities inputActions.Add(options => options.BuildSDF, Editor.Instance.BuildAllMeshesSDF); inputActions.Add(options => options.TakeScreenshot, Editor.Instance.Windows.TakeScreenshot); inputActions.Add(options => options.ProfilerWindow, () => Editor.Instance.Windows.ProfilerWin.FocusOrShow()); - inputActions.Add(options => options.ProfilerStartStop, () => { Editor.Instance.Windows.ProfilerWin.LiveRecording = !Editor.Instance.Windows.ProfilerWin.LiveRecording; Editor.Instance.UI.AddStatusMessage($"Profiling {(Editor.Instance.Windows.ProfilerWin.LiveRecording ? "started" : "stopped")}."); }); - inputActions.Add(options => options.ProfilerClear, () => { Editor.Instance.Windows.ProfilerWin.Clear(); Editor.Instance.UI.AddStatusMessage($"Profiling results cleared."); }); + inputActions.Add(options => options.ProfilerStartStop, () => + { + bool recording = !Editor.Instance.Windows.ProfilerWin.LiveRecording; + Editor.Instance.Windows.ProfilerWin.LiveRecording = recording; + Editor.Instance.UI.AddStatusMessage($"Profiling {(recording ? "started" : "stopped")}."); + }); + inputActions.Add(options => options.ProfilerClear, () => + { + Editor.Instance.Windows.ProfilerWin.Clear(); + Editor.Instance.UI.AddStatusMessage($"Profiling results cleared."); + }); inputActions.Add(options => options.SaveScenes, () => Editor.Instance.Scene.SaveScenes()); inputActions.Add(options => options.CloseScenes, () => Editor.Instance.Scene.CloseAllScenes()); inputActions.Add(options => options.OpenScriptsProject, () => Editor.Instance.CodeEditing.OpenSolution()); diff --git a/Source/Editor/Windows/Profiler/ProfilerWindow.cs b/Source/Editor/Windows/Profiler/ProfilerWindow.cs index f97e943ad..7a3924d1b 100644 --- a/Source/Editor/Windows/Profiler/ProfilerWindow.cs +++ b/Source/Editor/Windows/Profiler/ProfilerWindow.cs @@ -38,6 +38,7 @@ namespace FlaxEditor.Windows.Profiler if (value != LiveRecording) { _liveRecordingButton.Checked = value; + OnLiveRecordingChanged(); } } }