gnome-shell/subprojects/extensions-app/js
Florian Müllner e75a2ca146 extensions-app: Only change state if necessary
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>
2024-01-07 10:02:23 +00:00
..
misc extensions-app: Port config to ESM 2023-08-07 19:05:50 +00:00
extensionManager.js extensions-app: Add compat code for older shell versions 2024-01-03 20:05:05 +00:00
extensionRow.js extensions-app: Only change state if necessary 2024-01-07 10:02:23 +00:00
extensionsWindow.js extensions-app: Overhaul search 2023-12-21 15:24:23 +00:00
gnome-extensions-app.in extensions-app: Port to ESM 2023-06-21 13:26:42 +02:00
main.js extensions-app: Split out ExtensionManager 2023-12-21 15:24:23 +00:00
meson.build extensions-app: Include a non-fake Config 2023-07-13 15:33:06 +00:00
org.gnome.Extensions.in extensions-app: Port to ESM 2023-06-21 13:26:42 +02:00
org.gnome.Extensions.src.gresource.xml.in extensions-app: Split out ExtensionManager 2023-12-21 15:24:23 +00:00