Philipp Hörist pushed to branch gtk4 at gajim / gajim


Commits:
1962375d by Philipp Hörist at 2024-10-05T10:49:45+02:00
refactor: Fix infinite loop

- - - - -


1 changed file:

- gajim/gtk/settings.py


Changes:

=====================================
gajim/gtk/settings.py
=====================================
@@ -456,7 +456,8 @@ def __init__(self, *args: Any) -> None:
 
         self.entry = Gtk.Entry()
         self.entry.set_text(str(self.setting_value))
-        self.entry.connect('notify::text', self.on_text_change)
+        self._text_handler_id = self.entry.connect(
+            'notify::text', self.on_text_change)
         self.entry.set_valign(Gtk.Align.CENTER)
         self.entry.set_alignment(1)
 
@@ -475,7 +476,9 @@ def __init__(self, *args: Any) -> None:
         self.connect('destroy', self._on_destroy)
 
     def _on_setting_changed(self, value: str, *args: Any) -> None:
-        self.entry.set_text(value)
+        with self.entry.handler_block(self._text_handler_id):
+            # If the handler is not blocked we enter a infinite loop
+            self.entry.set_text(value)
 
     def _on_destroy(self, *args: Any) -> None:
         app.settings.disconnect_signals(self)



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/1962375ded04bb4ed145a508ac968b366fa8b3e6

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/1962375ded04bb4ed145a508ac968b366fa8b3e6
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]

Reply via email to