From b53d18fe1cbf113b02e5b4f84b08102e83c31252 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sat, 4 Aug 2012 00:14:34 +0200 Subject: [PATCH] ScreenShield: constrain vertical movement of the screen lock Don't allow dragging the screen lock above and below the screen, as in particular dragging below breaks the illusion of the curtain. https://bugzilla.gnome.org/show_bug.cgi?id=681143 --- js/ui/screenShield.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index 11cc86adf..31355a6f7 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -310,7 +310,11 @@ const ScreenShield = new Lang.Class({ this._arrow.connect('repaint', Lang.bind(this, this._drawArrow)); this._lockScreenContents.add_actor(this._arrow); - let action = new Clutter.DragAction({ drag_axis: Clutter.DragAxis.Y_AXIS }); + let dragArea = new Clutter.Rect({ origin: new Clutter.Point({ x: 0, y: -global.screen_height, }), + size: new Clutter.Size({ width: global.screen_width, + height: global.screen_height }) }); + let action = new Clutter.DragAction({ drag_axis: Clutter.DragAxis.Y_AXIS, + drag_area: dragArea }); action.connect('drag-begin', Lang.bind(this, this._onDragBegin)); action.connect('drag-end', Lang.bind(this, this._onDragEnd)); this._lockScreenGroup.add_action(action);