gnome-shell/js/ui
Florian Müllner 059af4c4cd a11y: Change HC icon theme first
There are two ways for applications to provide a high contrast icon:

 1. install an icon into the HighContrast theme
 2. install a symbolic icon into the default hicolor theme

The latter is preferred nowadays, and implemented in the high-contrast
CSS variant by enforcing the symbolic icon style.

However together with the way we currently enable/disable high-contrast,
this can lead to the following race:
 1. the GTK theme is changed from HighContrast
 2. we reload the default stylesheet
 3. the icon style changes to "regular", so we request a
    new icon from the HighContrast icon theme
 4. the icon theme is changed from HighContrast
 5. we evict existing icons from the cache
 6. we reload icons for the new icon theme; however as we
    find a pending request (from 3), we re-use it
 7. the request from 3 finishes, and we end up with a
    wrong icon in the cache

The simplest fix is to change the icon theme before the GTK theme: Unlike the
theme name, the icon style is encoded in the cache key, so we won't re-use
an old (and incorrect) request in that case.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2414
2020-03-31 01:12:34 +02:00
..
components networkAgent: Make searching VPN binaries asynchronous 2020-03-17 19:37:57 +01:00
status a11y: Change HC icon theme first 2020-03-31 01:12:34 +02:00
accessDialog.js cleanup: Disambiguate assignments in arrow functions 2019-09-15 16:02:45 +02:00
altTab.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
animation.js animation: Add parameter for hiding stopped Spinner actor 2019-11-19 23:25:34 +02:00
appDisplay.js appIcon: Draw running dot above the overview icon 2019-11-27 03:20:05 +01:00
appFavorites.js cleanup: "Only" use two indentation styles for object literals 2019-09-12 23:18:24 +02:00
audioDeviceSelection.js cleanup: Disambiguate assignments in arrow functions 2019-09-15 16:02:45 +02:00
background.js cleanup: "Only" use two indentation styles for object literals 2019-09-12 23:18:24 +02:00
backgroundMenu.js backgroundMenu: Animate menu opening 2019-09-11 23:25:21 +00:00
barLevel.js barLevel: Remove duplicated assignment 2019-08-13 16:35:17 +02:00
boxpointer.js cleanup: Don't add linebreak before operators 2019-09-15 16:02:45 +02:00
calendar.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
checkBox.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
closeDialog.js closeDialog: Make dialog inactive while fading out 2020-02-21 08:19:35 +00:00
ctrlAltTab.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
dash.js js: Replace Tweener time leftovers with ease duration 2019-10-10 02:14:28 +02:00
dateMenu.js cleanup: Disambiguate assignments in arrow functions 2019-09-15 16:02:45 +02:00
dialog.js closeDialog: Make dialog inactive while fading out 2020-02-21 08:19:35 +00:00
dnd.js dnd: Skip drag target when its acceptDrop() throws an exception 2019-10-24 23:08:08 +00:00
edgeDragAction.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
endSessionDialog.js cleanup: "Only" use two indentation styles for object literals 2019-09-12 23:18:24 +02:00
environment.js environment: Only disable unredirection of ongoing transitions 2019-10-14 08:54:20 +00:00
extensionDownloader.js cleanup: "Only" use two indentation styles for object literals 2019-09-12 23:18:24 +02:00
extensionSystem.js extensionSystem: Create a file to flag that extensions are being loaded 2019-11-25 23:38:32 +01:00
focusCaretTracker.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
grabHelper.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
ibusCandidatePopup.js ibusCandidatePopup: Use an internal actor to track IM focus position 2019-10-08 17:12:43 +00:00
iconGrid.js appDisplay: Add API to animate launch at given position 2019-09-18 17:14:16 +00:00
inhibitShortcutsDialog.js cleanup: Use consistent style for ternary operator 2019-09-15 13:30:19 +00:00
kbdA11yDialog.js cleanup: Fix wrong indentation 2019-09-15 13:30:19 +00:00
keyboard.js keyboard: Fix fallback layout when using variants 2020-03-23 15:28:03 +00:00
layout.js switcherPopup: Dismiss when a system modal dialog opens 2019-12-11 20:35:13 +01:00
lightbox.js lightbox: Show the actor before easing it 2019-10-03 15:26:13 +02:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js js: Replace Tweener time leftovers with ease duration 2019-10-10 02:14:28 +02:00
magnifier.js magnifier: Use new cursor tracker API to keep wayland focus while hidden 2019-11-25 15:21:29 +00:00
magnifierDBus.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
main.js main, util: Notify systemd once we are fully initialised 2019-10-04 15:40:05 +00:00
messageList.js theme: Add message close button styling 2019-11-25 17:12:23 +01:00
messageTray.js cleanup: Remove trailing spaces 2019-09-15 16:02:45 +02:00
modalDialog.js switcherPopup: Dismiss when a system modal dialog opens 2019-12-11 20:35:13 +01:00
mpris.js cleanup: Use consistent style for ternary operator 2019-09-15 13:30:19 +00:00
notificationDaemon.js cleanup: Remove trailing spaces 2019-09-15 16:02:45 +02:00
osdMonitorLabeler.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
osdWindow.js cleanup: Stop using Mainloop module 2019-09-12 19:09:24 +02:00
overview.js overview: Hide the overview on session mode hasOverview changes 2020-02-25 20:14:15 +01:00
overviewControls.js cleanup: Use consistent style for ternary operator 2019-09-15 13:30:19 +00:00
padOsd.js style: Disable camelcase rule for GObject properties 2019-07-24 00:28:45 +02:00
pageIndicators.js cleanup: Use consistent style for ternary operator 2019-09-15 13:30:19 +00:00
panel.js panel: Update window section items on title changes 2019-11-22 01:33:45 +01:00
panelMenu.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
pointerA11yTimeout.js cleanup: Remove left-over imports 2019-09-11 20:59:31 +00:00
pointerWatcher.js cleanup: Stop using Mainloop module 2019-09-12 19:09:24 +02:00
popupMenu.js popupMenu: Close when a system modal pops up 2019-12-11 20:35:13 +01:00
remoteSearch.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
ripples.js cleanup: Disambiguate assignments in arrow functions 2019-09-15 16:02:45 +02:00
runDialog.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
screencast.js cleanup: Use destructuring for imports from GI 2019-02-09 07:39:20 +01:00
screenShield.js screenShield: Replace child properties 2019-11-23 00:19:26 +00:00
screenshot.js cleanup: Switch some method calls to new indentation style 2019-09-15 13:30:19 +00:00
scripting.js scripting: Disable an eslint warning 2019-09-15 16:02:45 +02:00
search.js cleanup: Use consistent style for ternary operator 2019-09-15 13:30:19 +00:00
sessionMode.js cleanup: Use consistent style for ternary operator 2019-09-15 13:30:19 +00:00
shellDBus.js shellDBus: Don't assume devices have a node 2019-10-07 21:24:13 +00:00
shellEntry.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
shellMountOperation.js animation: Turn Spinner animate parameter into Params option 2019-11-19 23:25:29 +02:00
slider.js slider: Unset signal IDs when ending the slider drag 2019-09-22 22:20:41 +00:00
switcherPopup.js switcherPopup: Dismiss when a system modal dialog opens 2019-12-11 20:35:13 +01:00
switchMonitor.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
tweener.js tweener: Use new adjustAnimationTime() helper 2019-08-06 20:50:43 +02:00
unlockDialog.js unlockDialog: Use inheritance instead of composition 2019-09-20 16:58:00 +00:00
userWidget.js userWidget: Handle non-square icons gracefully 2019-07-29 16:16:22 +00:00
viewSelector.js viewSelector: Only reset search entry if it has key focus 2019-09-18 15:56:26 +00:00
windowAttentionHandler.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
windowManager.js windowManager: Replace left-over calls to _removeEffect() 2019-11-11 22:39:58 +01:00
windowMenu.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
workspace.js workspace: Sort windows in overview grid using cached center 2019-10-17 08:07:22 +00:00
workspacesView.js cleanup: Disambiguate assignments in arrow functions 2019-09-15 16:02:45 +02:00
workspaceSwitcherPopup.js cleanup: Stop using Mainloop module 2019-09-12 19:09:24 +02:00
workspaceThumbnail.js appDisplay: Animate DnD app icons at the position they were dropped 2019-09-18 17:14:16 +00:00
xdndHandler.js cleanup: Mark unused (but useful) variables as ignored 2019-07-24 00:28:45 +02:00