[gnome-shell] windowManager: Always check dimming when an attached modal opens/closes
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] windowManager: Always check dimming when an attached modal opens/closes
- Date: Mon, 22 Feb 2016 18:56:06 +0000 (UTC)
commit 4c29604e1e1a92b8dd16773fc15f7a482fd9541f
Author: Florian Müllner <fmuellner gnome org>
Date: Mon Feb 22 17:59:05 2016 +0100
windowManager: Always check dimming when an attached modal opens/closes
We skip window animations while the overview is shown (and the window
group is hidden) to avoid unnecessary work. However when an attached
modal dialog is opened or closed, this involves checking whether the
parent window should be dimmed - skipping that test means that we can
simply fail to dim or undim a window altogether, so do that check
unconditionally.
https://bugzilla.gnome.org/show_bug.cgi?id=762475
js/ui/windowManager.js | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index 32b8c0f..a36a71f 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -1403,6 +1403,9 @@ const WindowManager = new Lang.Class({
actor._windowType = type;
}));
+ if (actor.meta_window.is_attached_dialog())
+ this._checkDimming(actor.get_meta_window().get_transient_for());
+
let types = [Meta.WindowType.NORMAL,
Meta.WindowType.DIALOG,
Meta.WindowType.MODAL_DIALOG];
@@ -1411,9 +1414,6 @@ const WindowManager = new Lang.Class({
return;
}
- if (actor.meta_window.is_attached_dialog())
- this._checkDimming(actor.get_meta_window().get_transient_for());
-
switch (actor._windowType) {
case Meta.WindowType.NORMAL:
actor.set_pivot_point(0.5, 1.0);
@@ -1496,6 +1496,9 @@ const WindowManager = new Lang.Class({
});
}
+ if (window.is_attached_dialog())
+ this._checkDimming(window.get_transient_for(), window);
+
let types = [Meta.WindowType.NORMAL,
Meta.WindowType.DIALOG,
Meta.WindowType.MODAL_DIALOG];
@@ -1530,7 +1533,6 @@ const WindowManager = new Lang.Class({
if (window.is_attached_dialog()) {
let parent = window.get_transient_for();
- this._checkDimming(parent, window);
actor._parentDestroyId = parent.connect('unmanaged', Lang.bind(this, function () {
Tweener.removeTweens(actor);
this._destroyWindowDone(shellwm, actor);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]