From 24e7ce555a21764111ca4116ebe272fa9f5e32ec Mon Sep 17 00:00:00 2001 From: Yousef Khadadeh Date: Sat, 4 Oct 2025 09:29:29 +0300 Subject: [PATCH] Prevent division by 0 --- src/DrawCamera.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/DrawCamera.cpp b/src/DrawCamera.cpp index b8e6587..56ae8e9 100755 --- a/src/DrawCamera.cpp +++ b/src/DrawCamera.cpp @@ -139,15 +139,17 @@ void DrawCamera::update_main(World& w) { // Ignore the value of scrollAmount, since that leads to problems on macOS WorldScalar zoomFactor(1.0 + w.main.toolbar.scrollZoomSpeed); - if(w.main.input.mouse.scrollAmount.y() < 0.0) - zoomFactor = WorldScalar(1) / zoomFactor; + if(zoomFactor != WorldScalar(0)) { + if(w.main.input.mouse.scrollAmount.y() < 0.0) + zoomFactor = WorldScalar(1) / zoomFactor; - c.scale(zoomFactor); - if(c.inverseScale < WorldScalar(0.0001)) - c.inverseScale = WorldScalar(0.0001); - else { - WorldVec mVec = c.pos - w.get_mouse_world_pos(); - c.pos = w.get_mouse_world_pos() + mVec / zoomFactor; + c.scale(zoomFactor); + if(c.inverseScale < WorldScalar(0.0001)) + c.inverseScale = WorldScalar(0.0001); + else { + WorldVec mVec = c.pos - w.get_mouse_world_pos(); + c.pos = w.get_mouse_world_pos() + mVec / zoomFactor; + } } } if(w.main.input.key(InputManager::KEY_CAMERA_ROTATE_COUNTERCLOCKWISE).held && !w.main.input.text.get_accepting_input()) {