Merge branch 'bugfix_config' into develop

This commit is contained in:
misyaguziya
2025-11-14 11:30:22 +09:00

View File

@@ -85,7 +85,9 @@ class ManagedDict(dict):
internal_dict = self._get_internal()
internal_dict.clear()
internal_dict.update(dict.items(self))
# Trigger config save
# Trigger config save only if the corresponding property is serializable
descriptor = getattr(type(self._instance), self._property_name, None)
if getattr(descriptor, "serialize", True):
self._instance.saveConfig(self._property_name, dict(self), immediate_save=self._immediate_save)
except Exception:
pass
@@ -162,7 +164,9 @@ class ManagedList(list):
internal_list = self._get_internal()
internal_list.clear()
internal_list.extend(list.__iter__(self))
# Trigger config save
# Trigger config save only if the corresponding property is serializable
descriptor = getattr(type(self._instance), self._property_name, None)
if getattr(descriptor, "serialize", True):
self._instance.saveConfig(self._property_name, list(self), immediate_save=self._immediate_save)
except Exception:
pass
@@ -292,6 +296,7 @@ class ManagedProperty:
setattr(instance, self.private_name, value)
# Persist change
try:
if self.serialize:
instance.saveConfig(self.name, value, immediate_save=self.immediate_save)
except Exception:
# Keep setter robust during import-time initialization
@@ -324,6 +329,7 @@ class ValidatedProperty:
return
setattr(instance, self.private_name, normalized)
try:
if self.serialize:
instance.saveConfig(self.name, normalized, immediate_save=self.immediate_save)
except Exception:
pass