From 28f94ec6a0e473eb3f692e4e1085633544766217 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 26 Mar 2025 20:31:23 +1100 Subject: sidebar: fix widget destroyed error --- src/modules/sidebar/modules/networks.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/modules/sidebar/modules/networks.tsx b/src/modules/sidebar/modules/networks.tsx index 3d9f66d..a28a8fc 100644 --- a/src/modules/sidebar/modules/networks.tsx +++ b/src/modules/sidebar/modules/networks.tsx @@ -44,10 +44,17 @@ const Network = (accessPoint: AstalNetwork.AccessPoint) => ( valign={Gtk.Align.CENTER} cursor="pointer" onClicked={self => { + let destroyed = false; + const id = self.connect("destroy", () => (destroyed = true)); const cmd = AstalNetwork.get_default().wifi.activeAccessPoint === accessPoint ? "c down id" : "d wifi connect"; execAsync(`nmcli ${cmd} '${accessPoint.ssid}'`) - .then(() => (self.sensitive = true)) + .then(() => { + if (!destroyed) { + self.sensitive = true; + self.disconnect(id); + } + }) .catch(console.error); self.sensitive = false; }} -- cgit v1.2.3-freya