summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch')
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch147
1 files changed, 0 insertions, 147 deletions
diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
deleted file mode 100644
index 9cb041bcce2c..000000000000
--- a/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d
-Author: Jasper St. Pierre <jstpierre@mecheye.net>
-Date:   Thu Nov 7 17:14:47 2013 -0500
-
-    layout: Fix several issues with the background management code
-    
-    If monitor-changed fires at startup, it will destroy all of the
-    backgrounds, but since this._isStartup is true, won't recreate any
-    of them. Additionally, since _bgManagers is indexed by monitor index,
-    if the primary index is not 0, it could become a sparse array (e.g.
-    [undefined, undefined, primaryBackground]), and our for loop will
-    crash trying to access properties of undefined.
-    
-    Fix both of these issues by always creating background managers for
-    every monitor, hiding them on startup but only showing them after
-    the startup animation is complete.
-    
-    One thing we need to watch out for is that while LayoutManager is
-    constructing, Main.uiGroup / Main.layoutManager will be undefined,
-    so addBackgroundMenu will fail. Fix this by passing down the uiGroup
-    to the background menu code.
-    
-    https://bugzilla.gnome.org/show_bug.cgi?id=709313
-
-diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
-index 06e698c..dcbbb39 100644
---- a/js/ui/backgroundMenu.js
-+++ b/js/ui/backgroundMenu.js
-@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({
-     Name: 'BackgroundMenu',
-     Extends: PopupMenu.PopupMenu,
- 
--    _init: function(source) {
-+    _init: function(source, layoutManager) {
-         this.parent(source, 0, St.Side.TOP);
- 
-         this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop');
-@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({
- 
-         this.actor.add_style_class_name('background-menu');
- 
--        Main.uiGroup.add_actor(this.actor);
-+        layoutManager.uiGroup.add_actor(this.actor);
-         this.actor.hide();
-     }
- });
- 
--function addBackgroundMenu(actor) {
-+function addBackgroundMenu(actor, layoutManager) {
-     let cursor = new St.Bin({ opacity: 0 });
--    Main.uiGroup.add_actor(cursor);
-+    layoutManager.uiGroup.add_actor(cursor);
- 
-     actor.reactive = true;
--    actor._backgroundMenu = new BackgroundMenu(cursor);
-+    actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager);
-     actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor });
-     actor._backgroundManager.addMenu(actor._backgroundMenu);
- 
-diff --git a/js/ui/layout.js b/js/ui/layout.js
-index 17073a6..80bae9d 100644
---- a/js/ui/layout.js
-+++ b/js/ui/layout.js
-@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({
-         this.emit('hot-corners-changed');
-     },
- 
--    _createBackground: function(monitorIndex) {
-+    _addBackgroundMenu: function(bgManager) {
-+        BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this);
-+    },
-+
-+    _createBackgroundManager: function(monitorIndex) {
-         let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup,
-                                                            layoutManager: this,
-                                                            monitorIndex: monitorIndex });
--        BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
--
--        bgManager.connect('changed', Lang.bind(this, function() {
--                              BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
--                          }));
- 
--        this._bgManagers[monitorIndex] = bgManager;
-+        bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu));
-+        this._addBackgroundMenu(bgManager);
- 
--        return bgManager.background;
-+        return bgManager;
-     },
- 
--    _createSecondaryBackgrounds: function() {
-+    _showSecondaryBackgrounds: function() {
-         for (let i = 0; i < this.monitors.length; i++) {
-             if (i != this.primaryIndex) {
--                let background = this._createBackground(i);
--
-+                let background = this._bgManagers[i].background;
-+                background.actor.show();
-                 background.actor.opacity = 0;
-                 Tweener.addTween(background.actor,
-                                  { opacity: 255,
-@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({
-         }
-     },
- 
--    _createPrimaryBackground: function() {
--        this._createBackground(this.primaryIndex);
--    },
--
-     _updateBackgrounds: function() {
-         let i;
-         for (i = 0; i < this._bgManagers.length; i++)
-@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({
-         if (Main.sessionMode.isGreeter)
-             return;
- 
--        if (this._startingUp)
--            return;
--
-         for (let i = 0; i < this.monitors.length; i++) {
--            this._createBackground(i);
-+            let bgManager = this._createBackgroundManager(i);
-+            this._bgManagers.push(bgManager);
-+
-+            if (i != this.primaryIndex && this._startingUp)
-+                bgManager.background.actor.hide();
-         }
-     },
- 
-@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({
-         if (Main.sessionMode.isGreeter) {
-             this.panelBox.translation_y = -this.panelBox.height;
-         } else {
--            this._createPrimaryBackground();
-+            this._updateBackgrounds();
- 
-             // We need to force an update of the regions now before we scale
-             // the UI group to get the coorect allocation for the struts.
-@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({
-         this.keyboardBox.show();
- 
-         if (!Main.sessionMode.isGreeter) {
--            this._createSecondaryBackgrounds();
-+            this._showSecondaryBackgrounds();
-             global.window_group.remove_clip();
-         }
-