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


(cherry picked from commit 32fa060a62)
This commit is contained in:
Jonas Ådahl 2020-02-19 21:54:42 +00:00
parent f21a0ff458
commit 99d948559b
2 changed files with 8 additions and 1 deletions

View File

@ -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,

View File

@ -51,10 +51,16 @@ class Dialog extends St.Widget {
y_align: St.Align.START });
}
_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) {