workspacesView: Only connect to nWorkspacesChanged after we've lazily inited

We lazily init this._workspaces, so we shouldn't try to run any code that uses
it until after it's been created.

https://bugzilla.gnome.org/show_bug.cgi?id=658007
This commit is contained in:
Jasper St. Pierre 2011-09-01 16:09:46 -04:00
parent 794f773620
commit 3aa904da0a

View File

@ -567,8 +567,6 @@ WorkspacesDisplay.prototype = {
this._updateAlwaysZoom(); this._updateAlwaysZoom();
Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateAlwaysZoom)); Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._updateAlwaysZoom));
global.screen.connect('notify::n-workspaces',
Lang.bind(this, this._workspacesChanged));
Main.xdndHandler.connect('drag-begin', Lang.bind(this, function(){ Main.xdndHandler.connect('drag-begin', Lang.bind(this, function(){
this._alwaysZoomOut = true; this._alwaysZoomOut = true;
@ -581,6 +579,7 @@ WorkspacesDisplay.prototype = {
this._switchWorkspaceNotifyId = 0; this._switchWorkspaceNotifyId = 0;
this._nWorkspacesChangedId = 0;
this._itemDragBeginId = 0; this._itemDragBeginId = 0;
this._itemDragCancelledId = 0; this._itemDragCancelledId = 0;
this._itemDragEndId = 0; this._itemDragEndId = 0;
@ -589,7 +588,7 @@ WorkspacesDisplay.prototype = {
this._windowDragEndId = 0; this._windowDragEndId = 0;
}, },
show: function() { show: function() {
this._zoomOut = this._alwaysZoomOut; this._zoomOut = this._alwaysZoomOut;
this._zoomFraction = this._alwaysZoomOut ? 1 : 0; this._zoomFraction = this._alwaysZoomOut ? 1 : 0;
this._updateZoom(); this._updateZoom();
@ -612,6 +611,9 @@ WorkspacesDisplay.prototype = {
global.screen.connect('restacked', global.screen.connect('restacked',
Lang.bind(this, this._onRestacked)); Lang.bind(this, this._onRestacked));
if (this._nWorkspacesChangedId == 0)
this._nWorkspacesChangedId = global.screen.connect('notify::n-workspaces',
Lang.bind(this, this._workspacesChanged));
if (this._itemDragBeginId == 0) if (this._itemDragBeginId == 0)
this._itemDragBeginId = Main.overview.connect('item-drag-begin', this._itemDragBeginId = Main.overview.connect('item-drag-begin',
Lang.bind(this, this._dragBegin)); Lang.bind(this, this._dragBegin));