From 1ca0326e8a5295567daadd45d240399b1878fcbd Mon Sep 17 00:00:00 2001 From: Miquel Lionel Date: Sun, 21 Jan 2024 14:16:57 +0100 Subject: Fix crash when toggling an account very fast (#1505) - The switch widget in the account managment dialog is now not accepting input while the account being enabled is connecting. --- main/src/ui/manage_accounts/dialog.vala | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'main/src') diff --git a/main/src/ui/manage_accounts/dialog.vala b/main/src/ui/manage_accounts/dialog.vala index a326aeff..a7c0cf6e 100644 --- a/main/src/ui/manage_accounts/dialog.vala +++ b/main/src/ui/manage_accounts/dialog.vala @@ -183,6 +183,7 @@ public class Dialog : Gtk.Dialog { } private void populate_grid_data(Account account) { + active_switch.sensitive = false; active_switch.state_set.disconnect(change_account_state); picture.model = new ViewModel.CompatAvatarPictureModel(stream_interactor).add_participant(new Conversation(account.bare_jid, account, Conversation.Type.CHAT), account.bare_jid); @@ -213,10 +214,13 @@ public class Dialog : Gtk.Dialog { ConnectionManager.ConnectionState state = stream_interactor.connection_manager.get_state(account); switch (state) { case ConnectionManager.ConnectionState.CONNECTING: + active_switch.sensitive = false; state_label.label = _("Connecting…"); break; case ConnectionManager.ConnectionState.CONNECTED: + active_switch.sensitive = true; state_label.label = _("Connected"); break; case ConnectionManager.ConnectionState.DISCONNECTED: + active_switch.sensitive = true; state_label.label = _("Disconnected"); break; } state_label.remove_css_class("is_error"); -- cgit v1.2.3-70-g09d2