From d398c27e1fa437eb137461428d96798439ea2eba Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Sun, 27 Nov 2016 11:34:38 -0600 Subject: [PATCH] Avoid recentering viewport if the bounding box is max size 0, as noticed by @jreinam --- lib/Slic3r/GUI/3DScene.pm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm index 61d45f1f4..c16312b21 100644 --- a/lib/Slic3r/GUI/3DScene.pm +++ b/lib/Slic3r/GUI/3DScene.pm @@ -370,12 +370,15 @@ sub zoom_to_bounding_box { # bounding box my $max_size = max(@{$bb->size}) * 2; my $min_viewport_size = min($self->GetSizeWH); - $self->_zoom($min_viewport_size / $max_size); + if ($max_size != 0) { + # only re-zoom if we have a valid bounding box, avoid a divide by 0 error. + $self->_zoom($min_viewport_size / $max_size); - # center view around bounding box center - $self->_camera_target($bb->center); + # center view around bounding box center + $self->_camera_target($bb->center); - $self->on_viewport_changed->() if $self->on_viewport_changed; + $self->on_viewport_changed->() if $self->on_viewport_changed; + } } sub zoom_to_bed {