diff --git a/src/Gui/OverlayWidgets.cpp b/src/Gui/OverlayWidgets.cpp index 89f2c7590b..0ae7f9d22f 100644 --- a/src/Gui/OverlayWidgets.cpp +++ b/src/Gui/OverlayWidgets.cpp @@ -889,6 +889,9 @@ void OverlayTabWidget::restore(ParameterGrp::handle handle) getSplitter()->setSizes(sizes); hGrp = handle; + + // if updated save the state into settings to preserve layout in case of defaults change + saveTabs(); } void OverlayTabWidget::saveTabs() diff --git a/src/Gui/TaskView/TaskView.cpp b/src/Gui/TaskView/TaskView.cpp index f103e0b3e1..1bc3b5e29f 100644 --- a/src/Gui/TaskView/TaskView.cpp +++ b/src/Gui/TaskView/TaskView.cpp @@ -716,6 +716,10 @@ void TaskView::removeDialog() } void TaskView::setShowTaskWatcher(bool show) { + if (showTaskWatcher == show) { + return; + } + showTaskWatcher = show; if (show) { addTaskWatcher();