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
This commit is contained in:
parent
a368df61ac
commit
87e4bf52b7
@ -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();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user