backgroundMenu: release the click gesture if a grab operation begun

If an active grab on pointer events happens during multi-touch operations,
all non-pointer-emulating touches will be muted. This may leave the
Clutter.ClickAction incomplete if triggered by one of those sequences,
just to have a gesture take over and trigger a compositor grab, which would
leave the capture-event handler stuck eating events.

So listen for grab-op-begin from the display, and ensure the action is
released if such grab begins.
and the capture event handler stuck.
This commit is contained in:
Carlos Garnacho 2014-06-25 17:53:37 +02:00
parent ed6dc326d1
commit 624314ee3e

View File

@ -55,6 +55,10 @@ function addBackgroundMenu(actor, layoutManager) {
});
actor.add_action(clickAction);
global.display.connect('grab-op-begin', function () {
clickAction.release();
});
actor.connect('destroy', function() {
actor._backgroundMenu.destroy();
actor._backgroundMenu = null;