screenShield: don't use Bin for BackgroundManager container

St.Bin() really only expects one child at a time, and the
BackgroundManager will add two. This can cause assertion
failures when destroying one of the background actors.

https://bugzilla.gnome.org/show_bug.cgi?id=694227
This commit is contained in:
Ray Strode 2013-02-19 21:51:41 -05:00
parent 09c14f1a10
commit 34443da7ab

View File

@ -540,7 +540,10 @@ const ScreenShield = new Lang.Class({
_createBackground: function(monitorIndex) {
let bin = new St.Bin({ style_class: 'screen-shield-background' });
let bgManager = new Background.BackgroundManager({ container: bin,
let group = new Meta.BackgroundGroup();
bin.child = group;
let bgManager = new Background.BackgroundManager({ container: group,
monitorIndex: monitorIndex,
effects: Meta.BackgroundEffects.BLUR | Meta.BackgroundEffects.DESATURATE });