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);
|
padding: lib.s(3) lib.s(8);
|
||||||
|
|
||||||
|
&:disabled {
|
||||||
|
color: scheme.$overlay0;
|
||||||
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
color: scheme.$subtext0;
|
color: scheme.$subtext0;
|
||||||
|
|
|
||||||
|
|
@ -44,10 +44,17 @@ const Network = (accessPoint: AstalNetwork.AccessPoint) => (
|
||||||
valign={Gtk.Align.CENTER}
|
valign={Gtk.Align.CENTER}
|
||||||
cursor="pointer"
|
cursor="pointer"
|
||||||
onClicked={self => {
|
onClicked={self => {
|
||||||
|
let destroyed = false;
|
||||||
|
const id = self.connect("destroy", () => (destroyed = true));
|
||||||
const cmd =
|
const cmd =
|
||||||
AstalNetwork.get_default().wifi.activeAccessPoint === accessPoint ? "c down id" : "d wifi connect";
|
AstalNetwork.get_default().wifi.activeAccessPoint === accessPoint ? "c down id" : "d wifi connect";
|
||||||
execAsync(`nmcli ${cmd} '${accessPoint.ssid}'`)
|
execAsync(`nmcli ${cmd} '${accessPoint.ssid}'`)
|
||||||
.then(() => (self.sensitive = true))
|
.then(() => {
|
||||||
|
if (!destroyed) {
|
||||||
|
self.sensitive = true;
|
||||||
|
self.disconnect(id);
|
||||||
|
}
|
||||||
|
})
|
||||||
.catch(console.error);
|
.catch(console.error);
|
||||||
self.sensitive = false;
|
self.sensitive = false;
|
||||||
}}
|
}}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue