gnome-shell/js
Barnabás Pőcze 72cdb37a79 status/backlight: Fix keyboard backlight infinite loop
The logic could enter an infinite loop because it tried to
propagate local changes to g-s-d that were caused by signals sent
by g-s-d. For example:

  1. slider is set to 50
  2. Set(50) dbus call is sent
  3. slider is set to 51
  4. Set(51) dbus call is sent
  5. PropertiesChanged arrives due to Set(50)
  6. this._sliderItem.value is set to 50
  7. notify::value is emitted from this._sliderItem
  8. Set(50) dbus call is sent
  9. PropertiesChanged arrives due to Set(51)
 10. this._sliderItem.value is set to 51
 11. notify::value is emitted from this._sliderItem
 12. Set(51) dbus call is sent

To alleviate this issue, block signal handlers when the local state is
changed due to a remote event.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7111

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3086>
(cherry picked from commit be944ff2dc)
2024-02-09 13:49:27 +01:00
..
dbusServices dbusServices/extensions: Improve error message formatting 2024-01-06 22:44:07 +01:00
extensions extensions: Fix ngettext convenience 2023-09-15 21:41:30 +00:00
gdm cleanup: Use type-safe comparisons 2023-08-09 15:10:38 +00:00
misc extensionSystem: Improve error formatting 2024-01-06 22:44:07 +01:00
portalHelper js: Port Config to ESM 2023-08-10 17:42:23 +00:00
ui status/backlight: Fix keyboard backlight infinite loop 2024-02-09 13:49:27 +01:00
js-resources.gresource.xml js: Add utility to improve error message formatting 2024-01-06 22:44:07 +01:00
meson.build extensions-app: Move Extensions app to new subproject 2020-03-27 23:33:30 +00:00
portal-resources.gresource.xml js/portal-resources: Add missing fileUtils to js path 2022-11-03 18:02:27 +00:00