diff --git a/binaries/geph5-client-gui/src/tabs/login.rs b/binaries/geph5-client-gui/src/tabs/login.rs index 01876da..276bf9a 100644 --- a/binaries/geph5-client-gui/src/tabs/login.rs +++ b/binaries/geph5-client-gui/src/tabs/login.rs @@ -1,4 +1,4 @@ -use egui::{Align, Image, Key, Layout, TextEdit, Widget}; +use egui::{Align, Image, Key, Layout, TextBuffer, TextEdit, Widget}; use geph5_broker_protocol::{BrokerClient, Credential}; use poll_promise::Promise; @@ -7,8 +7,6 @@ use crate::{ settings::{get_config, PASSWORD, USERNAME}, }; - - pub struct Login { username: String, password: String, @@ -38,8 +36,9 @@ impl Login { match promise.poll() { std::task::Poll::Ready(ready) => match ready { Ok(_) => { - USERNAME.set(self.username.clone()); - PASSWORD.set(self.password.clone()); + self.check_login = None; + USERNAME.set(self.username.take()); + PASSWORD.set(self.password.take()); } Err(err) => { let err = format!("{:?}", err); diff --git a/binaries/geph5-client-gui/src/tabs/settings.rs b/binaries/geph5-client-gui/src/tabs/settings.rs index 60a431c..bb84a9c 100644 --- a/binaries/geph5-client-gui/src/tabs/settings.rs +++ b/binaries/geph5-client-gui/src/tabs/settings.rs @@ -20,7 +20,7 @@ pub static LOCATION_LIST: Lazy>> = pub fn render_settings(_ctx: &egui::Context, ui: &mut egui::Ui) -> anyhow::Result<()> { if ui.button(l10n("logout")).clicked() { - smol::future::block_on(DAEMON_HANDLE.control_client().stop())?; + DAEMON_HANDLE.stop()?; USERNAME.set("".into()); PASSWORD.set("".into()); }