From 98cb91110e9e710dac87618161fde33f40abb4e2 Mon Sep 17 00:00:00 2001 From: Valerii Bokhan <80919135+valerii-bokhan@users.noreply.github.com> Date: Thu, 5 Feb 2026 20:57:23 +0100 Subject: [PATCH] Fix: Free camera panning/rotating fixed (#12174) Fixes #10266 --- src/slic3r/GUI/GLCanvas3D.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 61d41525cc..a855459195 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -4532,7 +4532,8 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) Vec3d orig = _mouse_to_3d(m_mouse.drag.start_position_2D, &z); Camera& camera = wxGetApp().plater()->get_camera(); if (this->m_canvas_type != ECanvasType::CanvasAssembleView) { - if (wxGetApp().app_config->get_bool("use_free_camera")) + // Orca: Use a constrained camera when navigating the 3D scene with a regular mouse, if the free camera is not selected + if (!wxGetApp().app_config->get_bool("use_free_camera")) // Forces camera right vector to be parallel to XY plane in case it has been misaligned using the 3D mouse free rotation. // It is cheaper to call this function right away instead of testing wxGetApp().plater()->get_mouse3d_controller().connected(), // which checks an atomics (flushes CPU caches).