From c065c3a2e6b68f00832d598fd2ad1e5624f182fa Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Wed, 26 Oct 2022 15:18:56 +0800 Subject: [PATCH] FIX:AssembleViewData crash Change-Id: I759a385621b8a83d89abcc7c1b38786e067dbb33 (cherry picked from commit c218e7dd77fad970f637412dc9c230b1241c1f67) --- src/slic3r/GUI/GUI_Preview.cpp | 1 - src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp | 3 +++ src/slic3r/GUI/Gizmos/GLGizmosManager.cpp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index d8f8f2f89..7e2f8d772 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -816,7 +816,6 @@ void AssembleView::reload_scene(bool refresh_immediately, bool force_full_scene_ m_canvas->render(true); } m_canvas->reload_scene(refresh_immediately, force_full_scene_refresh); - m_canvas->reload_scene(refresh_immediately, force_full_scene_refresh); } } diff --git a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp index 2bc950fe3..a8ef43c85 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp @@ -611,6 +611,9 @@ void ModelObjectsInfo::on_update() if (!get_pool()->get_canvas()->get_model()->objects.empty()) { m_model_objects = get_pool()->get_canvas()->get_model()->objects; } + else { + m_model_objects.clear(); + } } void ModelObjectsInfo::on_release() diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index ea92b9adf..df59dff67 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -345,7 +345,7 @@ void GLGizmosManager::update(const Linef3& mouse_ray, const Point& mouse_pos) void GLGizmosManager::update_assemble_view_data() { if (m_assemble_view_data) { - if (m_parent.get_canvas_type() != GLCanvas3D::CanvasAssembleView) + if (!wxGetApp().plater()->get_assmeble_canvas3D()->get_wxglcanvas()->IsShown()) m_assemble_view_data->update(AssembleViewDataID(0)); else m_assemble_view_data->update(AssembleViewDataID((int)AssembleViewDataID::ModelObjectsInfo | (int)AssembleViewDataID::ModelObjectsClipper));