Philipp Hörist pushed to branch master at gajim / gajim
Commits:
1d556e2a by Philipp Hörist at 2025-01-24T22:56:38+01:00
cfix: Settings: Fix infinite loops with entry settings
- - - - -
1 changed file:
- gajim/gtk/settings.py
Changes:
=====================================
gajim/gtk/settings.py
=====================================
@@ -452,8 +452,8 @@ def __init__(self, *args: Any) -> None:
self.entry = Gtk.Entry()
self.entry.set_text(str(self.setting_value))
- self._text_handler_id = self._connect(
- self.entry, "notify::text", self.on_text_change
+ self._changed_handler_id = self._connect(
+ self.entry, "changed", self._on_text_change
)
self.entry.set_valign(Gtk.Align.CENTER)
self.entry.set_alignment(1)
@@ -470,11 +470,13 @@ def __init__(self, *args: Any) -> None:
)
def _on_setting_changed(self, value: str, *args: Any) -> None:
- with self.entry.handler_block(self._text_handler_id):
- # If the handler is not blocked we enter a infinite loop
+ if self.entry.get_text() == value:
+ return
+
+ with self.entry.handler_block(self._changed_handler_id):
self.entry.set_text(value)
- def on_text_change(self, *args: Any) -> None:
+ def _on_text_change(self, *args: Any) -> None:
text = self.entry.get_text()
self.set_value(text)
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/1d556e2a364c79e03be9535a4956050f07d3369a
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/1d556e2a364c79e03be9535a4956050f07d3369a
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]