summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-26 20:31:23 +1100
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-03-26 20:31:23 +1100
commit28f94ec6a0e473eb3f692e4e1085633544766217 (patch)
tree9f01f9171bbc13c31ee14fb664d33aafdfd7383e /src
parentsidebar: style disabled state for buttons (diff)
downloadcaelestia-shell-28f94ec6a0e473eb3f692e4e1085633544766217.tar.gz
caelestia-shell-28f94ec6a0e473eb3f692e4e1085633544766217.tar.bz2
caelestia-shell-28f94ec6a0e473eb3f692e4e1085633544766217.zip
sidebar: fix widget destroyed error
Diffstat (limited to 'src')
-rw-r--r--src/modules/sidebar/modules/networks.tsx9
1 files changed, 8 insertions, 1 deletions
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;
}}