From be809dbfabaf3c3cde025a4002309044d8eadd7a Mon Sep 17 00:00:00 2001 From: WarmUpTill <19472752+WarmUpTill@users.noreply.github.com> Date: Tue, 8 Jul 2025 21:03:00 +0200 Subject: [PATCH] Fix macro dock being being destroyed when opening macro settings --- lib/macro/macro-settings.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/macro/macro-settings.cpp b/lib/macro/macro-settings.cpp index 99771fdf..d2bb46d5 100644 --- a/lib/macro/macro-settings.cpp +++ b/lib/macro/macro-settings.cpp @@ -478,7 +478,14 @@ bool MacroSettingsDialog::AskForSettings(QWidget *parent, macro->SetSkipExecOnStart(dialog._currentSkipOnStartup->isChecked()); macro->SetStopActionsIfNotDone( dialog._currentStopActionsIfNotDone->isChecked()); - macro->EnableDock(dialog._currentMacroRegisterDock->isChecked()); + + // Only apply "on change" to avoid recreation of the dock widget + const bool enableDock = dialog._currentMacroRegisterDock->isChecked(); + if (macro->DockEnabled() != enableDock) { + macro->EnableDock( + dialog._currentMacroRegisterDock->isChecked()); + } + macro->SetDockHasRunButton( dialog._currentMacroDockAddRunButton->isChecked()); macro->SetDockHasPauseButton(