diff --git a/quickshell/Modules/Settings/DisplayConfigTab.qml b/quickshell/Modules/Settings/DisplayConfigTab.qml index dc0d7760..31868cb9 100644 --- a/quickshell/Modules/Settings/DisplayConfigTab.qml +++ b/quickshell/Modules/Settings/DisplayConfigTab.qml @@ -672,28 +672,25 @@ Item { function revertChanges() { const hadFormatChange = originalDisplayNameMode !== ""; + if (hadFormatChange) { SettingsData.displayNameMode = originalDisplayNameMode; SettingsData.saveSettings(); } - if (originalOutputs) { - const original = JSON.parse(JSON.stringify(originalOutputs)); - backendWriteOutputsConfig(original); - pendingChanges = {}; - originalOutputs = null; - originalDisplayNameMode = ""; - outputs = {}; - Qt.callLater(() => { - root.outputs = original; - }); - } else if (hadFormatChange) { - const currentOutputs = buildOutputsWithPendingChanges(); - backendWriteOutputsConfig(currentOutputs); - clearPendingChanges(); - } else { + if (!originalOutputs) { + if (hadFormatChange) + backendWriteOutputsConfig(buildOutputsWithPendingChanges()); clearPendingChanges(); + return; } + + const original = JSON.parse(JSON.stringify(originalOutputs)); + backendWriteOutputsConfig(original); + pendingChanges = {}; + originalOutputs = null; + originalDisplayNameMode = ""; + outputs = original; } function getOutputBounds() {