[gnome-shell] screenShield: don't use Bin for BackgroundManager container



commit 34443da7abf84b0359901cfeee9518fd40a47038
Author: Ray Strode <rstrode redhat com>
Date:   Tue Feb 19 21:51:41 2013 -0500

    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

 js/ui/screenShield.js |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 0edb7c3..5ab593f 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -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 });
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]