sidebar: fix widget destroyed error
This commit is contained in:
parent
1afe054f7a
commit
28f94ec6a0
2 changed files with 12 additions and 1 deletions
|
|
@ -46,6 +46,10 @@
|
|||
|
||||
padding: lib.s(3) lib.s(8);
|
||||
|
||||
&:disabled {
|
||||
color: scheme.$overlay0;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: scheme.$subtext0;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue