diff options
author | Florian Müllner <fmuellner@gnome.org> | 2014-05-08 11:21:34 +0200 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2014-05-28 22:01:54 +0200 |
commit | 3ff4277f86542420524a59ed99b6b81075c558c2 (patch) | |
tree | b5392073540b4b183a94d72c09897f731228b0ab | |
parent | 2a63267be0fb58a1f3db108da62d30ccba45e481 (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.js | 7 |
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) { |