boxpointer: Compute arrowStride using sourceActor monitor as reference

I suppose this was also the goal of commit 96e14dc, but because it was checking
the value of the always-undefined this.sourceActor, it really never worked as
expected.

So, now since we assume that this._sourceActor is always defined just use it
as reference to compute the monitor menu position.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1029
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/435
This commit is contained in:
Marco Trevisan (Treviño) 2019-03-08 14:21:28 -06:00 committed by Florian Müllner
parent 8b9c8ddb1e
commit 4892a87dfe

View File

@ -623,10 +623,7 @@ var BoxPointer = GObject.registerClass({
_calculateArrowSide(arrowSide) { _calculateArrowSide(arrowSide) {
let sourceAllocation = Shell.util_get_transformed_allocation(this._sourceActor); let sourceAllocation = Shell.util_get_transformed_allocation(this._sourceActor);
let [minWidth, minHeight, boxWidth, boxHeight] = this.get_preferred_size(); let [minWidth, minHeight, boxWidth, boxHeight] = this.get_preferred_size();
let monitorActor = this.sourceActor; let monitorIndex = Main.layoutManager.findIndexForActor(this._sourceActor);
if (!monitorActor)
monitorActor = this;
let monitorIndex = Main.layoutManager.findIndexForActor(monitorActor);
let workarea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex); let workarea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex);
switch (arrowSide) { switch (arrowSide) {