[gnome-shell] layout: Ensure that the hotCorners array is always indexable by monitor number
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] layout: Ensure that the hotCorners array is always indexable by monitor number
- Date: Tue, 23 Apr 2013 23:14:11 +0000 (UTC)
commit 64ecfa49eb50ace6052d98afa34d86402df54f5a
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Tue Mar 19 15:50:16 2013 -0400
layout: Ensure that the hotCorners array is always indexable by monitor number
messageTray relies on indexing the hot corners array by monitor number,
so we should make this a guarantee.
https://bugzilla.gnome.org/show_bug.cgi?id=698513
js/ui/layout.js | 26 +++++++++++++++-----------
1 files changed, 15 insertions(+), 11 deletions(-)
---
diff --git a/js/ui/layout.js b/js/ui/layout.js
index ebc9a1d..a7356a0 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -283,8 +283,10 @@ const LayoutManager = new Lang.Class({
_updateHotCorners: function() {
// destroy old hot corners
- for (let i = 0; i < this.hotCorners.length; i++)
- this.hotCorners[i].destroy();
+ this.hotCorners.forEach(function(corner) {
+ if (corner)
+ corner.destroy();
+ });
this.hotCorners = [];
let size = this.panelBox.height;
@@ -295,9 +297,9 @@ const LayoutManager = new Lang.Class({
let cornerX = this._rtl ? monitor.x + monitor.width : monitor.x;
let cornerY = monitor.y;
- if (i != this.primaryIndex) {
- let haveTopLeftCorner = true;
+ let haveTopLeftCorner = true;
+ if (i != this.primaryIndex) {
// Check if we have a top left (right for RTL) corner.
// I.e. if there is no monitor directly above or to the left(right)
let besideX = this._rtl ? monitor.x + 1 : cornerX - 1;
@@ -324,14 +326,15 @@ const LayoutManager = new Lang.Class({
break;
}
}
-
- if (!haveTopLeftCorner)
- continue;
}
- let corner = new HotCorner(this, monitor, cornerX, cornerY);
- corner.setBarrierSize(size);
- this.hotCorners.push(corner);
+ if (haveTopLeftCorner) {
+ let corner = new HotCorner(this, monitor, cornerX, cornerY);
+ corner.setBarrierSize(size);
+ this.hotCorners.push(corner);
+ } else {
+ this.hotCorners.push(null);
+ }
}
this.emit('hot-corners-changed');
@@ -408,7 +411,8 @@ const LayoutManager = new Lang.Class({
let size = this.panelBox.height;
this.hotCorners.forEach(function(corner) {
- corner.setBarrierSize(size);
+ if (corner)
+ corner.setBarrierSize(size);
});
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]