[gnome-shell] closeDialog: Make dialog inactive while fading out
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] closeDialog: Make dialog inactive while fading out
- Date: Fri, 21 Feb 2020 08:17:03 +0000 (UTC)
commit 32fa060a62051a6fc98532d43e060c65ec7848a7
Author: Jonas Ådahl <jadahl gmail com>
Date: Wed Feb 19 22:54:42 2020 +0100
closeDialog: Make dialog inactive while fading out
Otherwise the user might click Kill, which would crash if the fade-out
was triggered because a Wayland window was closed.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1032
js/ui/closeDialog.js | 1 +
js/ui/dialog.js | 8 +++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/closeDialog.js b/js/ui/closeDialog.js
index 4ee6de6d28..01799bd4ce 100644
--- a/js/ui/closeDialog.js
+++ b/js/ui/closeDialog.js
@@ -192,6 +192,7 @@ var CloseDialog = GObject.registerClass({
this._dialog = null;
this._removeWindowEffect();
+ dialog.makeInactive();
dialog._dialog.ease({
scale_y: 0,
mode: Clutter.AnimationMode.LINEAR,
diff --git a/js/ui/dialog.js b/js/ui/dialog.js
index 694da4e151..dacdf3d399 100644
--- a/js/ui/dialog.js
+++ b/js/ui/dialog.js
@@ -58,10 +58,16 @@ class Dialog extends St.Widget {
this._dialog.add_child(this.buttonLayout);
}
- _onDestroy() {
+ makeInactive() {
if (this._eventId != 0)
this._parentActor.disconnect(this._eventId);
this._eventId = 0;
+
+ this.buttonLayout.get_children().forEach(c => c.set_reactive(false));
+ }
+
+ _onDestroy() {
+ this.makeInactive();
}
_modalEventHandler(actor, event) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]