diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm index c9bbd79622..7a71375c16 100644 --- a/lib/Slic3r/GUI/3DScene.pm +++ b/lib/Slic3r/GUI/3DScene.pm @@ -376,12 +376,15 @@ sub zoom_to_bounding_box { # bounding box my $max_size = max(@{$bb->size}) * 1.05; 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 {