pressure-barrier: don't discard grabbed events when overview is grabbing

Since we still want to trigger the message tray in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=693987
This commit is contained in:
Cosimo Cecchi 2013-02-16 16:17:11 -05:00
parent ebd7406386
commit 53a595885a

View File

@ -1195,10 +1195,16 @@ const PressureBarrier = new Lang.Class({
},
_onBarrierHit: function(barrier, event) {
// Throw out all events where the pointer was grabbed,
// as the client that grabbed the pointer expects to have
// complete control over it.
if (event.grabbed)
// Throw out all events where the pointer was grabbed by another
// client, as the client that grabbed the pointer expects to have
// complete control over it
if (event.grabbed && Main.modalCount == 0)
return;
let isOverview = ((Main.keybindingMode & (Shell.KeyBindingMode.OVERVIEW)) != 0);
// Throw out events where the grab is taken by the overview visible
if (event.grabbed && !isOverview)
return;
let slide = this._getDistanceAlongBarrier(event);