Bugfix: Space.targetX was sometimes set to null

space.targetX = Math.round(clone.targetX) + ...  resulted in null when
clone.targetX was undefined. This could happend on extension startup and caused
the space to be unusable.

Initialize clone.targetX and remove duplicated space.targetX initialization.
This commit is contained in:
Ole Jørgen Brønner
2018-11-11 16:24:05 +01:00
parent 9ad6ee605d
commit da04d5526a
+2 -2
View File
@@ -205,8 +205,6 @@ class Space extends Array {
this.targetX = 0;
if (oldSpace) {
monitor = Main.layoutManager.monitors[oldSpace.monitor.index];
this.targetX = oldSpace.targetX;
cloneContainer.x = this.targetX;
}
this.setMonitor(monitor, false);
@@ -234,6 +232,7 @@ class Space extends Array {
// Though, targetX shouldn't ideally be able to get into this state.
if (oldSpace && Number.isFinite(oldSpace.targetX)) {
this.targetX = oldSpace.targetX;
this.cloneContainer.x = this.targetX;
}
this.cloneContainer.x = this.targetX;
this.getWindows().forEach(w => {
@@ -1469,6 +1468,7 @@ function registerWindow(metaWindow) {
layout_manager: new WindowCloneLayout()
});
container.add_actor(clone);
container.targetX = 0;
clone.meta_window = metaWindow;
metaWindow.clone = container;