diff --git a/js/ui/dnd.js b/js/ui/dnd.js index ea904ff42..ca52f3f10 100644 --- a/js/ui/dnd.js +++ b/js/ui/dnd.js @@ -222,6 +222,7 @@ class _Draggable extends Signals.EventEmitter { _grabDevice(actor, pointer, touchSequence) { this._grab = global.stage.grab(actor); + this._grab.activate(); this._grabbedDevice = pointer; this._touchSequence = touchSequence; } diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js index e3b0de7a2..ef136059c 100644 --- a/js/ui/lookingGlass.js +++ b/js/ui/lookingGlass.js @@ -600,6 +600,7 @@ export const Inspector = GObject.registerClass({ eventHandler.connect('motion-event', this._onMotionEvent.bind(this)); this._grab = global.stage.grab(eventHandler); + this._grab.activate(); // this._target is the actor currently shown by the inspector. // this._pointerTarget is the actor directly under the pointer. diff --git a/js/ui/main.js b/js/ui/main.js index ad0ea962f..c6de657a8 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -679,6 +679,7 @@ export function pushModal(actor, params = {}) { }; let grab = global.stage.grab(actor); + grab.activate(); if (modalCount === 0) Meta.disable_unredirect_for_display(global.display); diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js index c39603aca..807557ef9 100644 --- a/js/ui/screenshot.js +++ b/js/ui/screenshot.js @@ -500,6 +500,7 @@ const UIAreaSelector = GObject.registerClass({ if (this._dragButton) { this._dragGrab = global.stage.grab(this); + this._dragGrab.activate(); this._dragSequence = sequence; this.emit('drag-started'); diff --git a/js/ui/slider.js b/js/ui/slider.js index c9458f1c4..44fb1a6d3 100644 --- a/js/ui/slider.js +++ b/js/ui/slider.js @@ -91,6 +91,7 @@ export const Slider = GObject.registerClass({ let sequence = event.get_event_sequence(); this._grab = global.stage.grab(this); + this._grab.activate(); this._grabbedDevice = device; this._grabbedSequence = sequence; diff --git a/src/st/st-scroll-bar.c b/src/st/st-scroll-bar.c index 7b2d4987e..2493d13e7 100644 --- a/src/st/st-scroll-bar.c +++ b/src/st/st-scroll-bar.c @@ -711,6 +711,7 @@ handle_button_press_event_cb (ClutterActor *actor, stage = clutter_actor_get_stage (actor); priv->grab = clutter_stage_grab (CLUTTER_STAGE (stage), priv->handle); + clutter_grab_activate (priv->grab); priv->grab_device = device; g_signal_emit (bar, signals[SCROLL_START], 0);