From 14caed3a6f0f57e172d1eb407703f0e4cc179e11 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 9 Feb 2024 14:41:44 +0530 Subject: [PATCH] fix check for local with non-existent setting name --- src/pyj/session.pyj | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pyj/session.pyj b/src/pyj/session.pyj index 073cc6a509..a30bb4fdb2 100644 --- a/src/pyj/session.pyj +++ b/src/pyj/session.pyj @@ -287,6 +287,11 @@ def get_translations(newval): return get_translations.storage.get('current') +def is_setting_local(name): + m = all_settings[name] + return m.is_local if m else True + + class UserSessionData(SessionData): def __init__(self, username, saved_data): @@ -300,7 +305,7 @@ class UserSessionData(SessionData): self.push_timer_id = None if saved_data: for key in saved_data: - if not all_settings[key].is_local: + if not is_setting_local(key): self.set(key, saved_data[key]) self.echo_changes = True @@ -321,7 +326,7 @@ class UserSessionData(SessionData): return self.get(lkey, defval) def set(self, key, value): - if self.echo_changes and self.has_user and not all_settings[key].is_local: + if self.echo_changes and self.has_user and not is_setting_local(key): self.changes[key] = value self.has_changes = True if self.push_timer_id is not None: