gnome-shell/js/ui
Sebastian Keller fb313033ea screenShield: Don't unnecessarily close or recreate inhibitors
ScreenShield::_syncInhibitor() was closing (and recreating) the
inhibitor everytime it was called, even if no change was needed.
This gets called in various places, including on property changes in
the login1 dbus object. These happen by the time logind already started
suspending at which point new inhibitors can no longer be created. It is
only waiting for existing inhibitors to be closed, so closing the
inhibitor without a new inhibitor will cause the suspending to proceed
immediately if no other inhibitors are present. This can also happen
before the lock screen is shown, which will then complete after resume.

Fix this by keeping track of the expected inhibition state and only
create or close inhibitors if there was a change to that.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1927>
2021-08-16 00:28:52 +00:00
..
components telepathyClient: Fix a typo 2021-08-13 15:16:54 +02:00
status status/network: Use wwan settings panel for GSM/LTE Modems 2021-08-14 10:39:56 +00:00
accessDialog.js portal: Own org.gnome.Shell.Portal for the access portal 2021-06-05 21:29:52 -03:00
altTab.js altTab: Avoid allocation cycle when showing CyclerHighlight 2021-05-11 17:36:29 +02:00
animation.js st/widget: Remove get_resource_scale function 2020-06-30 13:42:18 +00:00
appDisplay.js appDisplay: Handle null value 2021-08-13 15:16:54 +02:00
appFavorites.js appFavorites: Add eog to rename list 2020-05-02 00:16:28 +02:00
audioDeviceSelection.js audioDeviceSelection: Ensure close() is called with no arguments 2021-04-19 19:12:59 +02:00
background.js background: Check xml mime type instead of extension 2021-04-16 19:53:53 +05:00
backgroundMenu.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
barLevel.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
boxpointer.js boxpointer: Fix coordinate 2021-08-13 15:16:54 +02:00
calendar.js theme: Add focus indication for dnd switch in message list controls 2021-07-20 20:58:59 +02:00
checkBox.js checkbox: Improve accessibility of check boxes for Orca users 2020-03-29 12:56:33 +00:00
closeDialog.js closeDialog: Remove transitions before resetting dialog 2020-03-23 15:27:47 +00:00
ctrlAltTab.js ctrlAltTab: Fix usage of bind_cairo_surface_property 2021-03-08 09:21:25 +00:00
dash.js overviewControls: Limit Dash height to 15% of the overview's 2021-02-11 22:31:50 +00:00
dateMenu.js dateMenu: Fix temperature edge case 2020-12-22 09:27:45 +00:00
dialog.js dialog: Ensure action callback is called with no arguments 2021-04-19 19:12:59 +02:00
dnd.js dnd: Immediately start drag done by pointer devices 2021-05-31 10:59:11 -03:00
edgeDragAction.js keyboard: Handle edge drag gesture cancellation 2021-02-17 15:45:01 +00:00
endSessionDialog.js endSessionDialog: Only show logout inhibiting apps 2021-02-24 15:31:03 +00:00
environment.js js: Require Soup 2.4 2021-02-26 12:28:21 +00:00
extensionDownloader.js extensionDownloader: Use POST request for checking updates 2021-03-31 13:31:00 +04:00
extensionSystem.js extensionSystem: Fix opening Extensions app from notification 2021-01-26 17:12:04 +01:00
focusCaretTracker.js cleanup: Prefer template strings 2019-07-05 11:32:31 +00:00
grabHelper.js grabHelper: Propagate events while this._ignoreUntilRelease 2021-05-11 16:13:49 +00:00
ibusCandidatePopup.js ibusCandidatePopup: Use plain actor as dummy cursor 2021-06-29 22:47:58 +02:00
iconGrid.js iconGrid: Bail out when not on a monitor 2021-08-13 15:16:54 +02:00
inhibitShortcutsDialog.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
kbdA11yDialog.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
keyboard.js keyboard: Use microseconds for notify_keyval() 2021-07-29 20:18:51 +00:00
layout.js overview: Implement startup animation 2021-03-02 23:14:07 +00:00
lightbox.js lightbox: Fix shader effect 2021-02-24 09:52:45 +00:00
locatePointer.js locatePointer: Bind ripples creation to settings 2019-09-09 19:28:18 +00:00
lookingGlass.js lookingGlass: Use symbolic icons on the toolbar 2021-06-14 18:51:30 +00:00
magnifier.js magnifier: Small cleanup 2021-07-31 17:18:08 +00:00
main.js main: Replace Meta.register_with_session() 2021-07-18 23:11:43 +02:00
messageList.js messageList: Drop sync_pointer() after relayouts 2021-02-14 13:57:56 +00:00
messageTray.js messageTray: Always remove destroyed banners 2021-07-13 12:38:51 +00:00
modalDialog.js switcherPopup: Dismiss when a system modal dialog opens 2019-12-06 19:55:39 +01:00
mpris.js mpris: Hide unused elements to leave more space for the title 2021-02-04 22:42:08 +00:00
notificationDaemon.js notificationDaemon: Fix icon-choosing logic 2021-02-01 13:58:20 +00:00
osdMonitorLabeler.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
osdWindow.js cleanup: Avoid unnecessary parentheses 2019-11-11 19:25:14 +00:00
overview.js shellInfo: Don't destroy source on undo 2021-07-13 12:38:51 +00:00
overviewControls.js ControlsManagerLayout: Allocate respecting the work area 2021-07-17 00:25:50 +02:00
padOsd.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
pageIndicators.js pageIndicators: Remove animated indicators 2021-02-03 09:55:29 +01:00
panel.js status/powerProfiles: Add power mode selection 2021-08-02 16:41:06 +02:00
panelMenu.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00
pointerA11yTimeout.js ui: Use ClutterSeat for keyboard/pointer a11y 2020-01-30 17:49:08 +00:00
pointerWatcher.js js: Get idle monitor from backend 2021-05-18 13:42:52 +00:00
popupMenu.js popupMenu: Remove can_focus=True from Switch 2021-07-20 14:11:28 +02:00
remoteSearch.js remoteSearch: Fetch enabled/disabled list once 2021-04-02 19:07:56 +00:00
ripples.js cleanup: Require "dangling" commas 2019-11-11 19:25:14 +00:00
runDialog.js js: Replace removed Meta.quit() 2021-07-18 23:11:43 +02:00
screenShield.js screenShield: Don't unnecessarily close or recreate inhibitors 2021-08-16 00:28:52 +00:00
screenshot.js screenshot: Ignore events in SelectArea after making a selection 2021-04-28 11:40:19 +00:00
scripting.js scripting: Switch to standard async/await pattern 2020-08-12 15:43:38 +00:00
search.js search: Exclude hidden results from keynav 2021-07-15 19:15:36 +02:00
searchController.js searchController: Get rid of activePage reference in key handling 2021-02-17 02:31:32 +01:00
sessionMode.js sessionMode: Enable networkAgent on login screen 2021-07-16 22:21:12 +00:00
shellDBus.js shellDBus: Properly return from D-Bus methods 2021-06-17 21:03:58 +00:00
shellEntry.js shellEntry: Don't show "Show Password" menu if entry icon is disabled 2021-07-30 14:17:07 +00:00
shellMountOperation.js cleanup: Don't linebreak before closing parentheses 2020-04-28 09:04:49 +00:00
slider.js js: Add missing chain-ups in vfuncs 2020-03-27 10:39:58 +01:00
swipeTracker.js swipeTracker: Use unaccelerated deltas 2021-07-16 19:37:20 +00:00
switcherPopup.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
switchMonitor.js switchMonitor: Center align switcher icon's label 2020-01-02 13:03:08 +05:30
unlockDialog.js unlockDialog: Honor switch user lockdown settings 2021-07-22 16:17:29 -04:00
userWidget.js theme: Don't draw border around symbolic user-icon 2020-12-17 21:46:41 +01:00
welcomeDialog.js welcomeDialog: Hide overview when taking tour 2021-02-19 17:18:50 +01:00
windowAttentionHandler.js messageTray: Don't create notification policy on demand 2020-03-26 18:52:10 +00:00
windowManager.js windowManager: Remove timeout on starting X11 services 2021-06-15 11:24:59 +02:00
windowMenu.js cleanup: Avoid unnecessary parentheses in arrow functions 2019-09-15 16:02:45 +02:00
windowPreview.js windowPreview: Make St.Label use single line mode 2021-04-28 14:29:19 +02:00
workspace.js workspace: Remove skip-taskbar windows while the overview is shown 2021-08-11 15:15:03 +00:00
workspaceAnimation.js Revert "workspaceAnimation: Allow long swipes in session" 2021-07-30 13:46:35 +00:00
workspacesView.js workspacesView: Handle null return value 2021-08-13 15:16:54 +02:00
workspaceSwitcherPopup.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
workspaceThumbnail.js workspaceThumbnail: Destroy thumbnails on destruction 2021-05-25 12:43:32 -03:00
xdndHandler.js cleanup: Use optional chaining and ?? operator 2020-12-02 15:10:29 +00:00