layout: Don't use the input mode to block events to windows
Instead, use the standard Clutter scene graph and our Chrome system. This also removes our last use of the input mode, so remove that as well. https://bugzilla.gnome.org/show_bug.cgi?id=700735
This commit is contained in:
@ -589,9 +589,13 @@ const LayoutManager = new Lang.Class({
|
||||
// screen. So, we set no_clear_hint at the end of the animation.
|
||||
|
||||
_prepareStartupAnimation: function() {
|
||||
// Set ourselves to FULLSCREEN input mode while the animation is running
|
||||
// so events don't get delivered to X11 windows (which are distorted by the animation)
|
||||
global.stage_input_mode = Shell.StageInputMode.FULLSCREEN;
|
||||
// During the initial transition, add a simple actor to block all events,
|
||||
// so they don't get delivered to X11 windows that have been transformed.
|
||||
this._coverPane = new Clutter.Actor({ opacity: 0,
|
||||
width: global.screen_width,
|
||||
height: global.screen_height,
|
||||
reactive: true });
|
||||
this.addChrome(this._coverPane);
|
||||
|
||||
if (Main.sessionMode.isGreeter) {
|
||||
this.panelBox.translation_y = -this.panelBox.height;
|
||||
@ -661,7 +665,8 @@ const LayoutManager = new Lang.Class({
|
||||
// we no longer need to clear the stage
|
||||
global.stage.no_clear_hint = true;
|
||||
|
||||
global.stage_input_mode = Shell.StageInputMode.NORMAL;
|
||||
this._coverPane.destroy();
|
||||
this._coverPane = null;
|
||||
|
||||
this._systemBackground.actor.destroy();
|
||||
this._systemBackground = null;
|
||||
|
Reference in New Issue
Block a user