FIX: crash of "filling bed"
"get_arrange_settings() const" gets trapped in infinite recursive calling. Now we delete this function. jira: STUDIO-5688 Change-Id: Ia39974734bb37b2a2f06b5bf78185f01be726872 (cherry picked from commit 631365822319139ae84e8cd8cbad5f10d9a10c4a)
This commit is contained in:
parent
a037d28da3
commit
6c6934bf81
|
@ -1009,17 +1009,6 @@ public:
|
|||
void highlight_toolbar_item(const std::string& item_name);
|
||||
void highlight_gizmo(const std::string& gizmo_name);
|
||||
|
||||
ArrangeSettings get_arrange_settings() const {
|
||||
const ArrangeSettings &settings = get_arrange_settings();
|
||||
ArrangeSettings ret = settings;
|
||||
if (&settings == &m_arrange_settings_fff_seq_print) {
|
||||
ret.distance = std::max(ret.distance,
|
||||
float(min_object_distance(*m_config)));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Timestamp for FPS calculation and notification fade-outs.
|
||||
static int64_t timestamp_now() {
|
||||
#ifdef _WIN32
|
||||
|
|
|
@ -759,10 +759,10 @@ double bed_stride_y(const Plater* plater) {
|
|||
// call before get selected and unselected
|
||||
arrangement::ArrangeParams init_arrange_params(Plater *p)
|
||||
{
|
||||
arrangement::ArrangeParams params;
|
||||
GLCanvas3D::ArrangeSettings &settings = p->canvas3D()->get_arrange_settings();
|
||||
auto & print = wxGetApp().plater()->get_partplate_list().get_current_fff_print();
|
||||
const PrintConfig& print_config = print.config();
|
||||
arrangement::ArrangeParams params;
|
||||
GLCanvas3D::ArrangeSettings &settings = p->canvas3D()->get_arrange_settings();
|
||||
auto &print = wxGetApp().plater()->get_partplate_list().get_current_fff_print();
|
||||
const PrintConfig &print_config = print.config();
|
||||
|
||||
params.clearance_height_to_rod = print_config.extruder_clearance_height_to_rod.value;
|
||||
params.clearance_height_to_lid = print_config.extruder_clearance_height_to_lid.value;
|
||||
|
|
|
@ -146,8 +146,7 @@ void FillBedJob::prepare()
|
|||
|
||||
double sc = scaled<double>(1.) * scaled(1.);
|
||||
|
||||
const GLCanvas3D::ArrangeSettings& settings = static_cast<const GLCanvas3D*>(m_plater->canvas3D())->get_arrange_settings();
|
||||
auto polys = offset_ex(m_selected.front().poly, scaled(settings.distance) / 2);
|
||||
auto polys = offset_ex(m_selected.front().poly, params.min_obj_distance / 2);
|
||||
ExPolygon poly = polys.empty() ? m_selected.front().poly : polys.front();
|
||||
double poly_area = poly.area() / sc;
|
||||
double unsel_area = std::accumulate(m_unselected.begin(),
|
||||
|
|
Loading…
Reference in New Issue