From 16d371873584760694aa9dbd137d09a15bc0310a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 29 Jun 2021 20:13:00 +0200 Subject: [PATCH] boxpointer: Handle non-widget source actors There is no convincing reason why source actors must be widgets, so lift that restriction. Part-of: --- js/ui/boxpointer.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/ui/boxpointer.js b/js/ui/boxpointer.js index c664ae748..82d28cd83 100644 --- a/js/ui/boxpointer.js +++ b/js/ui/boxpointer.js @@ -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;