[gnome-shell] windowPreview: Fix a division by zero



commit 87e4bf52b7c067c6af5dad00b61b43e65289a627
Author: Jonas Dreßler <verdre v0yd nl>
Date:   Fri Jun 19 10:10:21 2020 +0200

    windowPreview: Fix a division by zero
    
    When the bounding box size is 0 during allocation (which happens right
    after creating a window for example), we're doing a division by zero and
    end up with a NaN scale. This ends up making the childBox NaN, which
    triggers an error in Clutters allocation machinery.
    
    So fix that and fall back to a scale of 1 in case the bounding box is
    empty.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1320

 js/ui/windowPreview.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/windowPreview.js b/js/ui/windowPreview.js
index 842a4c5155..b7fc5efa5a 100644
--- a/js/ui/windowPreview.js
+++ b/js/ui/windowPreview.js
@@ -67,8 +67,12 @@ var WindowPreviewLayout = GObject.registerClass({
     vfunc_allocate(container, box) {
         // If the scale isn't 1, we weren't allocated our preferred size
         // and have to scale the children allocations accordingly.
-        const scaleX = box.get_width() / this._boundingBox.get_width();
-        const scaleY = box.get_height() / this._boundingBox.get_height();
+        const scaleX = this._boundingBox.get_width() > 0
+            ? box.get_width() / this._boundingBox.get_width()
+            : 1;
+        const scaleY = this._boundingBox.get_height() > 0
+            ? box.get_height() / this._boundingBox.get_height()
+            : 1;
 
         const childBox = new Clutter.ActorBox();
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]