parent
a8f0c2e257
commit
45add8a213
@ -0,0 +1,92 @@
|
|||||||
|
From 5b1260864b3a1a28d778a8610b4eb13c0bd52c99 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
|
Date: Sun, 5 Mar 2023 20:00:42 -0500
|
||||||
|
Subject: [PATCH] endSessionDialog: Don't emit 'closed' until handler is
|
||||||
|
connected
|
||||||
|
|
||||||
|
Prior to commit 7bd98f3f5fb7e0d1220646b8a4ee7073534a8e8f animation
|
||||||
|
onComplete handlers always occured at least after one main loop
|
||||||
|
iteration.
|
||||||
|
|
||||||
|
Now, if animations are disabled, they can get invoked immediately.
|
||||||
|
|
||||||
|
That breaks the endSessionDialog button handler, which calls
|
||||||
|
close before setting up the "closed" signal handler.
|
||||||
|
|
||||||
|
This commit fixes the handler to get set up first.
|
||||||
|
---
|
||||||
|
js/ui/endSessionDialog.js | 2 +-
|
||||||
|
subprojects/gvc | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
|
||||||
|
index ca24d0698..66fc2e6f9 100644
|
||||||
|
--- a/js/ui/endSessionDialog.js
|
||||||
|
+++ b/js/ui/endSessionDialog.js
|
||||||
|
@@ -420,65 +420,65 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
|
let key = event.get_key_symbol();
|
||||||
|
if (key !== Clutter.KEY_Alt_L && key !== Clutter.KEY_Alt_R)
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
|
||||||
|
if (type === Clutter.EventType.KEY_PRESS)
|
||||||
|
altEnabled = true;
|
||||||
|
|
||||||
|
this._rebootButton.visible = !altEnabled;
|
||||||
|
this._rebootButtonAlt.visible = altEnabled;
|
||||||
|
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
_updateButtons() {
|
||||||
|
this.clearButtons();
|
||||||
|
|
||||||
|
this.addButton({
|
||||||
|
action: this.cancel.bind(this),
|
||||||
|
label: _('Cancel'),
|
||||||
|
key: Clutter.KEY_Escape,
|
||||||
|
});
|
||||||
|
|
||||||
|
let dialogContent = DialogContent[this._type];
|
||||||
|
for (let i = 0; i < dialogContent.confirmButtons.length; i++) {
|
||||||
|
let signal = dialogContent.confirmButtons[i].signal;
|
||||||
|
let label = dialogContent.confirmButtons[i].label;
|
||||||
|
let button = this.addButton({
|
||||||
|
action: () => {
|
||||||
|
- this.close(true);
|
||||||
|
let signalId = this.connect('closed', () => {
|
||||||
|
this.disconnect(signalId);
|
||||||
|
this._confirm(signal);
|
||||||
|
});
|
||||||
|
+ this.close(true);
|
||||||
|
},
|
||||||
|
label,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Add Alt "Boot Options" option to the Reboot button
|
||||||
|
if (this._canRebootToBootLoaderMenu && signal === 'ConfirmedReboot') {
|
||||||
|
this._rebootButton = button;
|
||||||
|
this._rebootButtonAlt = this.addButton({
|
||||||
|
action: () => {
|
||||||
|
this.close(true);
|
||||||
|
let signalId = this.connect('closed', () => {
|
||||||
|
this.disconnect(signalId);
|
||||||
|
this._confirmRebootToBootLoaderMenu();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
label: C_('button', 'Boot Options'),
|
||||||
|
});
|
||||||
|
this._rebootButtonAlt.visible = false;
|
||||||
|
this._capturedEventId = this.connect('captured-event',
|
||||||
|
this._onCapturedEvent.bind(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_stopAltCapture() {
|
||||||
|
if (this._capturedEventId > 0) {
|
||||||
|
global.stage.disconnect(this._capturedEventId);
|
||||||
|
this._capturedEventId = 0;
|
||||||
|
}
|
||||||
|
this._rebootButton = null;
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 44~beta
|
Version: 44~beta
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Window management and application launching for GNOME
|
Summary: Window management and application launching for GNOME
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -12,6 +12,9 @@ Source0: https://download.gnome.org/sources/gnome-shell/44/%{name}-%{tarb
|
|||||||
# Replace Epiphany with Firefox in the default favourite apps list
|
# Replace Epiphany with Firefox in the default favourite apps list
|
||||||
Patch10001: gnome-shell-favourite-apps-firefox.patch
|
Patch10001: gnome-shell-favourite-apps-firefox.patch
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2174753
|
||||||
|
Patch20001: 0001-endSessionDialog-Don-t-emit-closed-until-handler-is-.patch
|
||||||
|
|
||||||
# Some users might have a broken PAM config, so we really need this
|
# Some users might have a broken PAM config, so we really need this
|
||||||
# downstream patch to stop trying on configuration errors.
|
# downstream patch to stop trying on configuration errors.
|
||||||
Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch
|
Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch
|
||||||
@ -227,6 +230,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
|
|||||||
%{_mandir}/man1/gnome-shell.1*
|
%{_mandir}/man1/gnome-shell.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Mar 05 2023 Ray Strode <rstrode@redhat.com> - 44~beta-3
|
||||||
|
- Fix slowdown in at shutdown
|
||||||
|
Resolves: #2174753
|
||||||
|
|
||||||
* Mon Feb 20 2023 Adam Williamson <awilliam@redhat.com> - 44~beta-2
|
* Mon Feb 20 2023 Adam Williamson <awilliam@redhat.com> - 44~beta-2
|
||||||
- Rebuild without changes for Bodhi reasons
|
- Rebuild without changes for Bodhi reasons
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user