diff --git a/src/dialogs/login_dialog.rs b/src/dialogs/login_dialog.rs index 44d00fb..0881493 100644 --- a/src/dialogs/login_dialog.rs +++ b/src/dialogs/login_dialog.rs @@ -40,11 +40,11 @@ impl Screen<(), LoginData> for LoginDialog { // Connect signals and callbacks - cancel_button.connect_clicked(clone!(@strong this => move |_| { + cancel_button.connect_clicked(clone!(@weak this => move |_| { this.handle.pop(None); })); - login_button.connect_clicked(clone!(@strong this => move |_| { + login_button.connect_clicked(clone!(@weak this => move |_| { this.widget.set_visible_child_name("loading"); let data = LoginData { @@ -65,7 +65,7 @@ impl Screen<(), LoginData> for LoginDialog { }); })); - register_button.connect_clicked(clone!(@strong this => move |_| { + register_button.connect_clicked(clone!(@weak this => move |_| { let context = glib::MainContext::default(); let clone = this.clone(); context.spawn_local(async move { diff --git a/src/dialogs/register.rs b/src/dialogs/register.rs index cd0fb7e..012ca34 100644 --- a/src/dialogs/register.rs +++ b/src/dialogs/register.rs @@ -50,11 +50,11 @@ impl Screen<(), LoginData> for RegisterDialog { // Connect signals and callbacks - cancel_button.connect_clicked(clone!(@strong this => move |_| { + cancel_button.connect_clicked(clone!(@weak this => move |_| { this.handle.pop(None); })); - register_button.connect_clicked(clone!(@strong this => move |_| { + register_button.connect_clicked(clone!(@weak this => move |_| { let password = this.password_entry.get_text().unwrap().to_string(); let repeat = this.repeat_password_entry.get_text().unwrap().to_string();