Fix of SPE-753

Slicer crash when SLA printer is selected and printer profile is changed

First, there was a bug in the preset Tabs, where a "printer_technology"
was incorrectly queried on "print" and "filament"
(or "sla_print" and "sla_material") profiles.

Second, there was an unsafe "printer_technology" getter, which would add
the missing key to the config container when queried for.
This commit is contained in:
bubnikv 2019-01-10 18:08:38 +01:00
parent 40e7346696
commit 6b70f60460
3 changed files with 20 additions and 10 deletions

View file

@ -81,7 +81,7 @@ PresetBundle::PresetBundle() :
this->sla_prints.default_preset().inherits();
this->printers.add_default_preset(Preset::sla_printer_options(), static_cast<const SLAMaterialConfig&>(SLAFullPrintConfig::defaults()), "- default SLA -");
this->printers.preset(1).printer_technology() = ptSLA;
this->printers.preset(1).printer_technology_ref() = ptSLA;
for (size_t i = 0; i < 2; ++ i) {
// The following ugly switch is to avoid printers.preset(0) to return the edited instance, as the 0th default is the current one.
Preset &preset = this->printers.default_preset(i);