diff --git a/js/ui/chrome.js b/js/ui/chrome.js index 27779fcf3..32b8f04f4 100644 --- a/js/ui/chrome.js +++ b/js/ui/chrome.js @@ -335,11 +335,6 @@ Chrome.prototype = { this._updateVisibility(); this._queueUpdateRegions(); } - - // Figure out where the pointer is in case we lost track of - // it during a grab. (In particular, if a trayicon popup menu - // is dismissed, see if we need to close the message tray.) - global.sync_pointer(); }, _updateRegions: function() { diff --git a/js/ui/main.js b/js/ui/main.js index c0f48451a..43fcfa5b7 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -208,6 +208,7 @@ function start() { global.screen.connect('window-entered-monitor', _windowEnteredMonitor); global.screen.connect('window-left-monitor', _windowLeftMonitor); + global.screen.connect('restacked', _windowsRestacked); _nWorkspacesChanged(); } @@ -310,6 +311,13 @@ function _windowEnteredMonitor(metaScreen, monitorIndex, metaWin) { _queueCheckWorkspaces(); } +function _windowsRestacked() { + // Figure out where the pointer is in case we lost track of + // it during a grab. (In particular, if a trayicon popup menu + // is dismissed, see if we need to close the message tray.) + global.sync_pointer(); +} + function _queueCheckWorkspaces() { if (_checkWorkspacesId == 0) _checkWorkspacesId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, _checkWorkspaces);