layout: Properly order startup initialization
In order to make sure that the struts and regions are initialized, we need to make sure that we do with the conditions that nothing is transformed, like the uiGroup, and that everything is visible. These invariants broke during a fix to hide the UI until the system background texture could be loaded. Now, reorder things so that the system background is loaded, and then the UI is properly loaded, and so on. https://bugzilla.gnome.org/show_bug.cgi?id=696159
This commit is contained in:
parent
aefe0d3ddd
commit
4b7e230531
@ -248,7 +248,7 @@ const LayoutManager = new Lang.Class({
|
|||||||
init: function() {
|
init: function() {
|
||||||
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated));
|
||||||
|
|
||||||
this._prepareStartupAnimation();
|
this._loadBackground();
|
||||||
},
|
},
|
||||||
|
|
||||||
showOverview: function() {
|
showOverview: function() {
|
||||||
@ -557,6 +557,25 @@ const LayoutManager = new Lang.Class({
|
|||||||
return this._keyboardIndex;
|
return this._keyboardIndex;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_loadBackground: function() {
|
||||||
|
this._systemBackground = new Background.SystemBackground();
|
||||||
|
this._systemBackground.actor.hide();
|
||||||
|
|
||||||
|
global.stage.insert_child_below(this._systemBackground.actor, null);
|
||||||
|
|
||||||
|
let constraint = new Clutter.BindConstraint({ source: global.stage,
|
||||||
|
coordinate: Clutter.BindCoordinate.ALL });
|
||||||
|
this._systemBackground.actor.add_constraint(constraint);
|
||||||
|
|
||||||
|
let signalId = this._systemBackground.connect('loaded', Lang.bind(this, function() {
|
||||||
|
this._systemBackground.disconnect(signalId);
|
||||||
|
this._systemBackground.actor.show();
|
||||||
|
global.stage.show();
|
||||||
|
|
||||||
|
this._prepareStartupAnimation();
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
|
||||||
// Startup Animations
|
// Startup Animations
|
||||||
//
|
//
|
||||||
// We have two different animations, depending on whether we're a greeter
|
// We have two different animations, depending on whether we're a greeter
|
||||||
@ -602,20 +621,6 @@ const LayoutManager = new Lang.Class({
|
|||||||
global.window_group.set_clip(monitor.x, monitor.y, monitor.width, monitor.height);
|
global.window_group.set_clip(monitor.x, monitor.y, monitor.width, monitor.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._systemBackground = new Background.SystemBackground();
|
|
||||||
this._systemBackground.actor.hide();
|
|
||||||
|
|
||||||
global.stage.insert_child_below(this._systemBackground.actor, null);
|
|
||||||
|
|
||||||
let constraint = new Clutter.BindConstraint({ source: global.stage,
|
|
||||||
coordinate: Clutter.BindCoordinate.ALL });
|
|
||||||
this._systemBackground.actor.add_constraint(constraint);
|
|
||||||
|
|
||||||
let signalId = this._systemBackground.connect('loaded', Lang.bind(this, function() {
|
|
||||||
this._systemBackground.disconnect(signalId);
|
|
||||||
this._systemBackground.actor.show();
|
|
||||||
global.stage.show();
|
|
||||||
|
|
||||||
this.emit('startup-prepared');
|
this.emit('startup-prepared');
|
||||||
|
|
||||||
// We're mostly prepared for the startup animation
|
// We're mostly prepared for the startup animation
|
||||||
@ -628,7 +633,6 @@ const LayoutManager = new Lang.Class({
|
|||||||
this._startupAnimation();
|
this._startupAnimation();
|
||||||
return false;
|
return false;
|
||||||
}));
|
}));
|
||||||
}));
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_startupAnimation: function() {
|
_startupAnimation: function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user