boxpointer: Handle non-widget source actors
There is no convincing reason why source actors must be widgets, so lift that restriction. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1903>
This commit is contained in:
parent
006d206f98
commit
16d3718735
@ -464,8 +464,10 @@ var BoxPointer = GObject.registerClass({
|
||||
this._workArea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex);
|
||||
|
||||
// Position correctly relative to the sourceActor
|
||||
let sourceNode = sourceActor.get_theme_node();
|
||||
let sourceContentBox = sourceNode.get_content_box(sourceActor.get_allocation_box());
|
||||
const sourceAllocation = sourceActor.get_allocation_box();
|
||||
const sourceContentBox = sourceActor instanceof St.Widget
|
||||
? sourceActor.get_theme_node().get_content_box(sourceAllocation)
|
||||
: sourceAllocation;
|
||||
let sourceTopLeft = this._sourceExtents.get_top_left();
|
||||
let sourceBottomRight = this._sourceExtents.get_bottom_right();
|
||||
let sourceCenterX = sourceTopLeft.x + sourceContentBox.x1 + (sourceContentBox.x2 - sourceContentBox.x1) * this._sourceAlignment;
|
||||
|
Loading…
Reference in New Issue
Block a user