From d7283d48a19e4252ca36c520b1c71295f426880f Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Mon, 30 Oct 2023 19:47:57 +0800 Subject: [PATCH] FIX: wipetower position problem jira: STUDIO-4914 Change-Id: I7b05d3c53931ed8ce3d4603ff21ee6ef675611e5 --- src/slic3r/GUI/GLCanvas3D.cpp | 3 +++ src/slic3r/GUI/MainFrame.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 071fd75b0..46fe8f46b 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -7551,6 +7551,7 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() m_sel_plate_toolbar.m_items[i]->selected = false; } all_plates_stats_item->selected = true; + wxGetApp().plater()->update(true, true); wxCommandEvent evt = wxCommandEvent(EVT_GLTOOLBAR_SLICE_ALL); wxPostEvent(wxGetApp().plater(), evt); } @@ -7635,6 +7636,8 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() all_plates_stats_item->selected = false; item->selected = true; // begin to slicing plate + if (item->slice_state != IMToolbarItem::SliceState::SLICED) + wxGetApp().plater()->update(true, true); wxCommandEvent* evt = new wxCommandEvent(EVT_GLTOOLBAR_SELECT_SLICED_PLATE); evt->SetInt(i); wxQueueEvent(wxGetApp().plater(), evt); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 72f49bfe4..03f911d3e 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -601,7 +601,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ } return;} #endif - if (evt.CmdDown() && evt.GetKeyCode() == 'R') { if (m_slice_enable) { wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_PLATE)); this->m_tabpanel->SetSelection(tpPreview); } return; } + if (evt.CmdDown() && evt.GetKeyCode() == 'R') { if (m_slice_enable) { wxGetApp().plater()->update(true, true); wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_PLATE)); this->m_tabpanel->SetSelection(tpPreview); } return; } if (evt.CmdDown() && evt.ShiftDown() && evt.GetKeyCode() == 'G') { m_plater->apply_background_progress(); m_print_enable = get_enable_print_status(); @@ -1563,7 +1563,7 @@ wxBoxSizer* MainFrame::create_side_tools() m_slice_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& event) { //this->m_plater->select_view_3D("Preview"); - m_plater->update(false, true); + m_plater->update(true, true); if (m_slice_select == eSliceAll) wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_ALL)); else