[gnome-shell] windowManager: use meta_window_is_attached_dialog()
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] windowManager: use meta_window_is_attached_dialog()
- Date: Sat, 27 Aug 2011 17:14:32 +0000 (UTC)
commit a13af7fbccc91c71a390e7dbe8db267e755557a5
Author: Dan Winship <danw gnome org>
Date: Tue Apr 5 10:16:50 2011 -0400
windowManager: use meta_window_is_attached_dialog()
Use meta_window_is_attached_dialog() so that we only dim/unfold dialog
windows that mutter is actually showing as attached
https://bugzilla.gnome.org/show_bug.cgi?id=646761
js/ui/windowManager.js | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 deletions(-)
---
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index e9c1192..16756ad 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -239,7 +239,7 @@ WindowManager.prototype = {
_hasAttachedDialogs: function(window, ignoreWindow) {
var count = 0;
window.foreach_transient(function(win) {
- if (win != ignoreWindow && win.get_window_type() == Meta.WindowType.MODAL_DIALOG)
+ if (win != ignoreWindow && win.is_attached_dialog())
count++;
return false;
});
@@ -247,7 +247,7 @@ WindowManager.prototype = {
},
_checkDimming: function(window, ignoreWindow) {
- let shouldDim = Meta.prefs_get_attach_modal_dialogs() && this._hasAttachedDialogs(window, ignoreWindow);
+ let shouldDim = this._hasAttachedDialogs(window, ignoreWindow);
if (shouldDim && !window._dimmed) {
window._dimmed = true;
@@ -309,9 +309,7 @@ WindowManager.prototype = {
actor._windowType = type;
}));
- if (actor.meta_window.get_window_type() == Meta.WindowType.MODAL_DIALOG
- && Meta.prefs_get_attach_modal_dialogs()
- && actor.get_meta_window().get_transient_for()) {
+ if (actor.meta_window.is_attached_dialog()) {
this._checkDimming(actor.get_meta_window().get_transient_for());
if (this._shouldAnimate()) {
actor.set_scale(1.0, 0.0);
@@ -373,7 +371,6 @@ WindowManager.prototype = {
_destroyWindow : function(shellwm, actor) {
let window = actor.meta_window;
- let parent = window.get_transient_for();
if (actor._notifyWindowTypeSignalId) {
window.disconnect(actor._notifyWindowTypeSignalId);
actor._notifyWindowTypeSignalId = 0;
@@ -383,12 +380,14 @@ WindowManager.prototype = {
return win != window;
});
}
- while (window.get_window_type() == Meta.WindowType.MODAL_DIALOG
- && parent) {
+ if (window.is_attached_dialog()) {
+ let parent = window.get_transient_for();
this._checkDimming(parent, window);
- if (!Meta.prefs_get_attach_modal_dialogs()
- || !this._shouldAnimate())
- break;
+ if (!this._shouldAnimate()) {
+ shellwm.completed_destroy(actor);
+ return;
+ }
+
actor.set_scale(1.0, 1.0);
actor.show();
this._destroying.push(actor);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]