summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2014-05-08 11:21:34 +0200
committerFlorian Müllner <fmuellner@gnome.org>2014-05-28 22:01:54 +0200
commit3ff4277f86542420524a59ed99b6b81075c558c2 (patch)
treeb5392073540b4b183a94d72c09897f731228b0ab
parent2a63267be0fb58a1f3db108da62d30ccba45e481 (diff)
workspace: Don't allow closing windows with attached modals
Modal dialogs prevent the parent from being closed in "normal mode", so it makes sense to not allow it in the overview either. https://bugzilla.gnome.org/show_bug.cgi?id=729886
-rw-r--r--js/ui/workspace.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index 2c49d609..51b7e84f 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -200,6 +200,10 @@ const WindowClone = new Lang.Class({
this.emit('size-changed');
},
+ hasAttachedDialogs: function() {
+ return this.actor.get_n_children() > 1;
+ },
+
_doAddAttachedDialog: function(metaWin, realWin) {
let clone = new Clutter.Clone({ source: realWin });
clone._updateId = metaWin.connect('size-changed', Lang.bind(this, function() {
@@ -582,7 +586,8 @@ const WindowOverlay = new Lang.Class({
},
_windowCanClose: function() {
- return this._windowClone.metaWindow.can_close();
+ return this._windowClone.metaWindow.can_close() &&
+ !this._windowClone.hasAttachedDialogs();
},
_onWindowAdded: function(workspace, win) {