e75a2ca146
The `state-set` signal is emitted to change the underlying state, which can have two reasons: 1. the user toggled the switch 2. the extension's `enabled` state changed externally In the second case, calling enable/disable is pointless at best, and can mess up the expected state by permanently disabling an extension that was disabled because of the global kill switch. Address this by only calling enable/disable if the new state does not already match the current value of the `enabled` property. Close https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7305 Fixes: fec523f83f ("extensions-app: Use new 'enabled' property") Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3090>