mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-13 01:02:18 -04:00
settings: guard internal writes from watcher
This commit is contained in:
@@ -60,6 +60,7 @@ Singleton {
|
|||||||
property bool _hasLoaded: false
|
property bool _hasLoaded: false
|
||||||
property bool _isReadOnly: false
|
property bool _isReadOnly: false
|
||||||
property bool _hasUnsavedChanges: false
|
property bool _hasUnsavedChanges: false
|
||||||
|
property bool _selfWrite: false
|
||||||
property var _loadedSettingsSnapshot: null
|
property var _loadedSettingsSnapshot: null
|
||||||
property var pluginSettings: ({})
|
property var pluginSettings: ({})
|
||||||
property var builtInPluginSettings: ({})
|
property var builtInPluginSettings: ({})
|
||||||
@@ -1243,6 +1244,7 @@ Singleton {
|
|||||||
function saveSettings() {
|
function saveSettings() {
|
||||||
if (_loading || _parseError || !_hasLoaded)
|
if (_loading || _parseError || !_hasLoaded)
|
||||||
return;
|
return;
|
||||||
|
_selfWrite = true;
|
||||||
settingsFile.setText(JSON.stringify(Store.toJson(root), null, 2));
|
settingsFile.setText(JSON.stringify(Store.toJson(root), null, 2));
|
||||||
if (_isReadOnly)
|
if (_isReadOnly)
|
||||||
_checkSettingsWritable();
|
_checkSettingsWritable();
|
||||||
@@ -2589,7 +2591,13 @@ Singleton {
|
|||||||
blockWrites: true
|
blockWrites: true
|
||||||
atomicWrites: true
|
atomicWrites: true
|
||||||
watchChanges: true
|
watchChanges: true
|
||||||
onFileChanged: settingsFileReloadDebounce.restart()
|
onFileChanged: {
|
||||||
|
if (_selfWrite) {
|
||||||
|
_selfWrite = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
settingsFileReloadDebounce.restart();
|
||||||
|
}
|
||||||
onLoaded: {
|
onLoaded: {
|
||||||
if (isGreeterMode)
|
if (isGreeterMode)
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user